myeclipse中的classpath

Myeclipse或者Eclipse怎么能找到各个库文件,怎么能够将你自己使用的第三方jar包找到并能让你能够导入

 这个就是classpath的作用

classpath能够让JVM发现,classpath是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。当然classpath并不只是用来搜索类,很多配置文件其实也是利用了classpath的,简单说就是java通过它来加载相关的文件

那么Eclipse设计的时候也是使用的这样的情况,所以在保存project的时候会生成.project和.classpath这样的文件.其实在eclipse中,整个项目根目录就是classpath.但是在查找的时候是不会继续深入的,也就是说不会自动查找到子目录的。这么说,如果你有个目录a,那么在a下的文件都能自动找到,那么如果a有子目录b,那么要找到b中的相关文件,有两种方式:

    1.我称其为--事先配置法

          将b目录也设置为classpath,或者是将那个文件加入到classpath,其实不用想也知道,将文件加入classpath其实是更准确合理的,但是不省事.

    2.在使用的时候,在要使用的时候在路径上加上"b/xxx.xx"这样先是能够找到a中的所有东西,就能找到b,进而找到文件

在使用的时候两种都可以,看自己的喜好

点击项目右键,java build path-->Source中配置的就是classpath

具体的Myeclipse中这些内容的设置也都以文件的形式保存起来了,以便project的导入导出。具体的文件内容如下:

********************************************************************************************

.project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置


.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>

  从数据上我们容易看出,上面描述了工程的依赖文件:

  1. 源文件的具体位置(kind="src")
  2. 运行的系统环境(kind="con")
  3. 工程的library的具体位置信息(kind="lib")
  4. 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
  5. 项目的输出目录(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>

 从数据上看,我们可以了解到这些配置主要是描述工程的基本信息:

  1. 工程名<name></name>
  2. 工程注释描述<comment></comment>
  3. 运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>

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

 

     .settings 文件

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

posted @ 2017-04-12 16:46  暗夜心慌方  阅读(750)  评论(0编辑  收藏  举报