第一部分:
classpath是系统的环境变量,就是说JVM加载类的时候要按这个路径下去找,当然这个路径下可以有jar包,那么就是jar包里所有的class。 eclipse build path是eclipse工程里需要的包,也是需要的class,本质上没什么区别。 
你可以测试,比如JDK中有个String类,在java.lang中,那么你自己声明一个别的包,类叫String,然后打个jar包,将这个jar包所在的路径复制到classpath中,在系统的那个String前,这时候你在用String类将是用你自己的,
因为类加载器加载扫描路径是按顺序的,找到之前的jar里有String,就用了。后面的不在查看。 但是同一类名,还看你导入的包,其实你都可以自己创建一个java.lang包,然后创建一个String类,那就完全冒充JDK的啦  哈哈

第二部分:
每个新建java工程(Project)都默认存在的。

1.指定源文件位置, 对应工程属性Java build path中Source项中的一项, kind="src" 指明为源文件, 源文件路径path, output为这条路径中 源文件编译以后class文件的输出路径。

2.指定编译以后class文件的默认输出路径, 对应工程属性Java build path中 Source项中的default output path, kind="output"指明为默认 class输出路径, path为相应输出路径。

3.指定工程所用到的库文件或目录, 对应工程属性Java build path中 Libraries项中的一项, kind="lib"指明为库文件或目录, path为库 文件或目录位置。

第三部分:eclipse中的.project 和 .classpath文件的具体作用

.project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置。如果你的项目中没有.project文件,那么eclipse就不能把它当作一个项目。

.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH。

这些文件你用文本编辑器就能察看了。在一个项目中点刷新的目的是为了更新.project文件中的文件清单,让你把不通过eclipse提交到项目的文件显示出来。

.classpath 文件
       <?xml version="1.0" encoding="UTF-8"?>
<classpath>
        <classpathentry kind="src" path="src"/>
        <classpathentry kind="src" path="test"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
        <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
        <classpathentry kind="lib" path="lib/dom4j-1.6.1.jar">
                <attributes>
                        <attribute name="javadoc_location" value="file:/home/wpc/Work/Apache/dom4j-1.6.1/docs/api$
                </attributes>
        </classpathentry>
        <classpathentry kind="output" path="bin"/>
</classpath>

从数据上我们容易看出,上面描述了工程的依赖文件:
源文件的具体位置(kind="src") 运行的系统环境(kind="con") 工程的library的具体位置信息(kind="lib") 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location") 项目的输出目录(kind="output")

总体上说这个文件就是配置整个工程的运行环境。

.project 文件
     <?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>CreateInterpret</name>
    <comment>JavaCC Nature@key 32303037303632392D3130303020437265617465496E746572707265742F777063 </comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>sf.eclipse.javacc.javaccbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>sf.eclipse.javacc.javaccnature</nature>
    </natures>
</projectDescription>

从数据上看,我们可以了解到这些配置主要是描述工程的基本信息:
工程名<name></name> 工程注释描述<comment></comment> 运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>

如果你在开发过程中向工程里面加入了很多额外的插件,则必然会导致你的Eclipse启动速度变慢。在这种情况下,你可以到这个文件里面去掉一些插件,不过这样一来你在开启那些关联文件的时候会加载那些插件。

.settings 文件

里面存放各种插件的配置文件。

以上是简单介绍了Eclipse的Project相关的隐藏配置文件.

PS:

我们发现几个问题,工程名是由.project中的<name>标签定义的,而不是文件目录名;

类路径是通过classpathentry属性定义的;

将某个工程作为类路径是这么定义的:

<classpathentry combineaccessrules="false" kind="src" path="/Sepsif"/>

其中/Sepsif是与Sepsif Samples同处一个根目录的另一个工程;

<classpathentry kind="output" path="bin"/>定义的是将class文件输出的目录

java工程中的.classpathaaaaaaaaaaaaaaaa<转载>的更多相关文章

  1. java工程中的.classpath<转载>

    第一部分:classpath是系统的环境变量,就是说JVM加载类的时候要按这个路径下去找,当然这个路径下可以有jar包,那么就是jar包里所有的class. eclipse build path是ec ...

  2. Log4j在Java工程中使用方法

    Eclipse新建Java工程,工程目录如下 1.下载log4j的Jar包,在Java工程下新建lib文件夹,将jar包拷贝到此文件夹,并将其加入到路径中,即:Jar包上右键——Build Path— ...

  3. java工程中不能存在多个数据库连接jar包

    java工程中不能存在多个数据库连接jar包 比如存在mysql-java-connector.jar的,放入mssqlserver.jar就会产生冲突.只能存在一个类型的jar包.

  4. 在java工程中导入jar包的注意事项

    在java工程中导入jar包后一定要bulid path,不然jar包不可以用.而在java web工程中导入jar包后可以不builld path,但最好builld path.

  5. 【技巧】Java工程中的Debug信息分级输出接口

    也许本文的标题你们没咋看懂.但是,本文将带大家领略输出调试的威力. 灵感来源 说到灵感,其实是源于笔者在修复服务器的ssh故障时的一个发现. 这个学期初,同袍(容我来一波广告产品页面,同袍官网)原服务 ...

  6. 【技巧】Java工程中的Debug信息分级输出接口及部署模式

    也许本文的标题你们没咋看懂.但是,本文将带大家领略输出调试的威力. 灵感来源 说到灵感,其实是源于笔者在修复服务器的ssh故障时的一个发现. 这个学期初,同袍(容我来一波广告产品页面,同袍官网)原服务 ...

  7. Eclipse IDE 添加jar包到Java工程中

    操作系统:Windows 10 x64 工具1:Eclipse Java EE IDE for Web Developers. Version: Photon Release (4.8.0) 在Pac ...

  8. Java工程中各种带有O的对象分类笔记

    在Java工程里面,我们总会碰到各种不同的带有O的对象, 对于一个小白来说,经常会混淆这些对象的使用场景,所以在这里mark一下,让自己的代码更加规范,但这个也是Java被诟病的地方,不同的业务需要给 ...

  9. java工程中使用freemarker例子

    新建java project,引入freemarker.jar, 本工程是用的版本:freemarker-2.3.20 版本 java工程目录如下: test.ftl文件 HTML代码 name : ...

随机推荐

  1. jQuery倒计时

    Css------------------------------------------------------------------------------------------------- ...

  2. Android Studio Gradle Build Running 特别慢的问题探讨

    本文的本本win7 64bit 6G android studio2.1 在运行程序的时候Gradle Build Running 特别慢,一个helloworld都快2min了 1.开启gradle ...

  3. Android 获取系统的联系人

    本文主要介绍android中怎样获取系统的联系人数据 首先打开模拟器 点击联系人图标按钮 说明系统联系人数据库是空的,打开File explorer,找到data/data下面的文件夹: 将conta ...

  4. android遥控器的映射

    第一编写kl文件时先在盒子上输入getevent -v查看设备信息,设备信息里有vendor.product.version, 假如分别是xxxx,yyyy,zzzz,那么你的文件名就要命名为Vend ...

  5. Android常用抓包工具之TcpDump

    ➠更多技术干货请戳:听云博客 做为一个测试人员,工作中经常会用到数据抓包工具来进行数据分析和验证,下面就简单介绍一下工作中常用的抓包工具. TcpDump抓包 Tcpdump是一个用于截取网络分组,并 ...

  6. IntelliJ IDEA 12.1.4 解决中文乱码

    一.进入IDE Settings 里的 Appearance项,选中Override default fonts by ,把 Name 设置为 SimSun,Size 根据自己喜好设置(我一般设为 1 ...

  7. 在FlashDevelop里使用1.8版本的的TortoiseSVN

    前几天更新TortoiseSVN到1.8版本后发现FD(FlashDevelop)里不能使用svn了,在项目面板里的所有文件及文件夹都不能正确显示svn状态了,清一色都显示为未添加版本控制的状态图标, ...

  8. Strange Problem O(∩_∩)O~

    题目描述: 古代某个狱卒某天闲着没事想和两个罪犯玩个游戏,他找了个国际象棋盘,每个格子放上一个硬币,硬币长得都一样,正反都是狱卒自己决定. 之后他只让A罪犯观看棋盘,并随便指一个硬币告诉A罪犯,只要B ...

  9. 转载文章----C#基础概念

    转载地址:http://www.cnblogs.com/zhouzhou-aspnet/articles/2591596.html 1.值类型和引用类型 1.1堆和栈 简单的说值类型存放在堆栈上面,引 ...

  10. CDC 2013 北京站手记

    受搜狐畅游的邀请,这次能够有机会参与2013中国开发者大会北京站的活动. 本次大会的主题是“游戏”和“移动”,因此上午的峰会安排了5个主讲,分别就搜索.云存储服务器.游戏媒体.移动应用和游戏渠道等多方 ...