eclipse中的classpath文件

转自:http://coffeelet.blog.163.com/blog/static/13515745320107249178730/ eclipse工程中.classpath文件含义: 下面是一个.classpath文件内容:
< ?xml version="1.0" encoding="UTF-8"?> < classpath> <!-- 源码目录 --> <classpathentry kind="src" path="src"/>
<!-- 工程引用外部lib目录(最好用相对路径) --> <classpathentry kind="lib" path="G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar"/> <classpathentry kind="lib" path="lib/xstream-1.3.1.jar"/> <classpathentry kind="lib" path="lib/xpp3_min-1.1.4c.jar"/> <classpathentry kind="lib" path="lib/commons-logging.jar"/> <classpathentry kind="lib" path="lib/htmlparser.jar"/> <!-- JDK编译时容器,建立好java项目后自动产生的 --> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_06"/> <!-- class 目录,对于web工程的path就是WebRoot/WEB-INF/classes了 --> <classpathentry kind="output" path="bin"/> < /classpath>
说明: 1、<classpathentry kind="src" path="src"/> 含义:本工程的源码所在地路径--》在当前工程路径下的src文件下 2、<classpathentry kind="lib" path="G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar"/> 含义:本工程所要应用的外部jar包,具体路径是G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar这里利用的是绝对路径 注意:我们不要应用绝对路径,这样的话我们load工程的时候就会出现找不到jar包的现象我们要用<classpathentry kind="lib" path="lib/cobra.jar"/> 这种相对路径的格式,都用相对路径,那么当我们利用eclipse从文件load一个已经存在的工程的时候就不用在重新引入jar包了 3、<classpathentry kind="output" path="bin"/> 含义:本工程编译后的类文件存放到当前工程路径下的bin目录下

由于最近对一个开源项目(jmeter)的源码进行了编译的工作,发现了很多小的问题,就在这里总结一下。对于.classpath文件的含义就可以参考上面的转贴。 一般当下载好一个源码包后,我们就可以新建java工程,然后进行导入,接着把源码包中的eclipse.classpath中的内容复制到我们新建的java工程中的.classpath文件中。这时我们就可以编译项目了,一般在这里都会出现问题(如果引用到了外部的jar文件,这个可以在.classpath文件中查看),就是lib中的jar文件没有,或者名字跟.classpath文件中描述的不同。那么编译是就会提示***包不存在。此时我们就要手动的修改lib目录下jar文件的名字了,是它们与.classpath文件中一致即可。

eclipse 中的.project .classpath 文件的具体作用是什么?
.project
是项目文件,你这个项目的结构都在其中定义,比如lib 的位置,src 的位置,classes 的位置
.classpath
的位置定义了你这个项目在编译时所使用的$CLASSPATH
这些文件你用文本编辑器就能察看了
在一个项目中点刷新的目的是为了更新.project 文件中的文件清单,让你把不通过eclipse 提交到项目的文件显示出来

classpath 的配置是有先后顺序的,JVM 搜索classpath 的策略是从前到后搜索,如果在搜索过程中,已经找到需要加载的类,那么就不再向后搜索。所以,如果在classpath 中存在重复的类,那么JVM 只加载classpath 配置中,位置靠前的类。后面的类就不会被加载了。(待写。。。。)

 

eclipse工程中.classpath文件的含义 收藏
eclipse工程中.classpath文件含义:
下面是一个.classpath文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<!-- 源码目录 -->
<classpathentry kind="src" path="src"/>


<!-- 工程引用外部lib目录(最好用相对路径) -->
<classpathentry kind="lib" path="G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar"/>
<classpathentry kind="lib" path="lib/xstream-1.3.1.jar"/>
<classpathentry kind="lib" path="lib/xpp3_min-1.1.4c.jar"/>
<classpathentry kind="lib" path="lib/commons-logging.jar"/>
<classpathentry kind="lib" path="lib/htmlparser.jar"/>
<classpathentry kind="lib" path="lib/jdom.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.8.jar"/>
<classpathentry kind="lib" path="lib/lucene-1104.jar"/>
<classpathentry kind="lib" path="lib/mysql-connector-java-5.0.0-beta-bin.jar"/>
<classpathentry kind="lib" path="lib/xml-apis.jar"/>
<classpathentry kind="lib" path="lib/nekohtml.jar"/>
<classpathentry kind="lib" path="lib/xalan.jar"/>
<classpathentry kind="lib" path="lib/xercesImpl.jar"/>
<classpathentry kind="lib" path="lib/js.jar"/>
<classpathentry kind="lib" path="lib/cobra.jar"/>
<classpathentry kind="lib" path="lib/jdmkrt.jar"/>

<!-- JDK编译时容器 -->
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_06"/>
<!-- class 目录 -->
<classpathentry kind="output" path="bin"/>
</classpath>

说明:
1、<classpathentry kind="src" path="src"/>
含义:本工程的源码所在地路径--》在当前工程路径下的src文件下
2、<classpathentry kind="lib" path="G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar"/>
含义:本工程所要应用的外部jar包,具体路径是G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar这里利用的是绝对路径
注意:我们不要应用绝对路径,这样的话我们load工程的时候就会出现找不到jar包的现象我们要用<classpathentry kind="lib" path="lib/cobra.jar"/>
这种相对路径的格式,都用相对路径,那么当我们利用eclipse从文件load一个已经存在的工程的时候就不用在重新引入jar包了
3、<classpathentry kind="output" path="bin"/>
含义:本工程编译后的类文件存放到当前工程路径下的bin目录下

 

你可能感兴趣的:(eclipse中的classpath文件)