第一部分:
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文件输出的目录

转载于:https://www.cnblogs.com/zhangzs000/p/6032466.html

java工程中的.classpathaaaaaaaaaaaaaaaa转载相关推荐

  1. Java工程中的主函数public static void main(String[] args)

    Java工程中的主函数 主函数简介 主函数声明中各关键词的作用 public static void String[] args 一个Java工程中可以有多个主函数 平时写java project的时 ...

  2. vbs文件放在java工程中如何调用_Eclipse软件导入Java工程文件的操作方法。

    Eclipse软件怎么导入Java工程文件?有些在学习Java编程的用户虽然会创建工程,但是对于怎么导入工程文件却不清楚,下面教大家如何在Eclipse软件中导入Java工程文件. 解决方法: 1.在 ...

  3. Java工程中使用Log4j小记

    1.工程中引入log4j的jar包,可到http://logging.apache.org/log4j/1.2/download.html下载: 2.在src目录下配置log4j.properties ...

  4. java工程中使用freemarker例子

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

  5. spring在java工程中的运用

    1,新建一java工程:springJavaTest. 2,加入spring2.5的包(2.5版本才能用注释注入) 3,新建两个javaBean:Room.java 和 House.java,如下: ...

  6. Eclipse java工程中添加文件+导入工程文件

    1.添加源文件 在eclipse上建好java工程,想从别的地方把.java文件加进来,先把.java文件拷贝到src目录下,然后,在src文件夹下按F5刷新就可以了. 2.导入存在的工程文件 在开始 ...

  7. Java工程中引用Base64编码解码小记

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一. Base64编码说明 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两 ...

  8. 【Java工程中出现问题】XXX has been compiled by a more recent version of the Java Runtime

    问题: Exception in thread "main" java.lang.UnsupportedClassVersionError: com/test/Test has b ...

  9. Java工程中的综合排序算法选取

    1.若你需要排序的是基本数据类型,则选择快速排序.若你需要排序的是引用数据类型,则选择归并排序.(基于稳定性考虑) 因为基本数据类型之间无差异,不需要考虑排序算法稳定性,而归并排序则可以实现算法的稳定 ...

最新文章

  1. 问问大家作为大数据总监,刚刚到一家新单位,怎么开展工作比较好?
  2. JQuery UI 拖拽排序
  3. ABP入门系列(15)——创建微信公众号模块
  4. Python subprocess命令行中文乱码
  5. 【转载】Java程序设计入门 (二)
  6. excel表头_「Excel技巧」关于Excel表格打印常见的四个问题,你会解决吗?
  7. python期望输出隐藏_【归纳综述】马尔可夫、隐马尔可夫 HMM 、条件随机场 CRF 全解析及其python实现...
  8. 2017-2018-1 20155222 《信息安全系统设计基础》第7周学习总结
  9. 从C#到Swift原来这么简单,So Easy!
  10. 最新MT6763参考设计芯片资料
  11. matlab 标准色度图,采用Matlab图像进行有色溶液样液浓度测试
  12. 杭州好玩景点攻略198
  13. 解决ffmpeg合成的视频格式浏览器无法播放问题
  14. MVC ViewData和ViewBag
  15. 成为第一没有捷径:AI新势力MindSpore成长秘籍 | 源创者说
  16. MySQL进阶垫脚石:线程长时间处于killed状态怎么破?
  17. JAVA毕业设计家电售后管理系统演示录像2021计算机源码+lw文档+系统+调试部署+数据库
  18. springboot集成各类常用中间件(更详细信息请看博主其它文章)
  19. Access SQL distinct 去重失效问题
  20. 【微搭低代码】美业小程序官方模板练习-绘制原型

热门文章

  1. Android Broadcast Security
  2. r perl python电脑要求_Shell Perl Python 介绍
  3. 编译原理lr(0)c语言,关于编译原理:LR(1)LR(0)文法判断?
  4. Qt 多线程TCP服务端一键关闭所有客户端
  5. java 非静态语句块_静态初始化代码块与非静态初始化代码块之间的区别是什么?...
  6. python手写均值滤波器_python手写均值滤波
  7. python join函数用法-Python join()函数
  8. hdu5492(2015合肥网络赛I题)
  9. POJ 2182 Lost Cows [树状数组+二分]
  10. 数论与数学专题练习(一)(201802~201805)