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 文件
<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 文件
<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 文件
里面存放各种插件的配置文件。