<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>jeesite</name> <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> <projects/> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> </buildCommand> <buildCommand> <name>org.eclipse.wst.common.project.facet.core.builder</name> </buildCommand> <buildCommand> <name>org.eclipse.wst.validation.validationbuilder</name> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> <nature>org.springframework.ide.eclipse.core.springnature</nature> </natures> </projectDescription>
主要是描述工程的基本信息:
工程名<name></name>
工程注释描述<comment></comment>
运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>
如果你在开发过程中向工程里面加入了很多额外的插件,则必然会导致你的Eclipse启动速度变慢。在这种情况下,你可以到这个文件里面去掉一些插件,不过这样一来你在开启那些关联文件的时候会加载那些插件。
.project文件:
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <!-- 工程名称 --> <name>TestProject</name> <comment></comment> <projects> </projects> <!-- 编译器指定 --> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> </buildSpec> <!-- 核心特性 --> <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> <linkedResources> <link> <name>JavaSrc</name> <type>2</type> <location>D:/workspace/study/petstore/src</location> </link> </linkedResources> </projectDescription>
数据上看,我们可以了解到这些配置主要是描述工程的基本信息:
工程名<name></name>
工程注释描述<comment></comment>
运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>
链接工程外部的资源<linkedResources></linkedResources>,链接后可以看做是在本工程的资源来使用,但并不在本地创建相应的资源。<name>JavaSrc</name>为本工程显示的资源名称;<type>2</type>资源类型(1--文件,2--目录。貌似除了1表示文件,x.x形式的带小数点的都表示文件,无论小数点后有几位和小数点前的数有多大);<location>D:/workspace/study/petstore/src</location>为工程外部链接的资源。
.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH
1.源文件的具体位置(kind="src")
2.运行的系统环境(kind="con")
3.工程的library的具体位置信息(kind="lib")
4.在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
5.项目的输出目录(kind="output")
1、.classpath文件时eclipse新建web工程的时候生成的一个文件,改变java Build path的时候或者改变加载的jar包顺序的时候,这个文件也会改变。
2、.classpath文件不能随意删除。个人在将已有的工程import进入eclipse工作区的时候将.classpath文件删除了,然后再重新导入jar包,整个工程就会重新编译,也就会产生.classpath文件,但是这个重新生成的.classpath文件的内容可能就会出问题,也就有可能导致在tomcat部署的时候出现不可预料的问题。
例如:
原始的.classpath文件部分主要内容如下:
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
个人删除后,eclipse重新build的.classpath文件部分主要内容如下:
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_11"/>
<classpathentry kind="output" path="/bin"/>
比较前后两个.classpath文件可以发现,重新build的.classpath文件里面的源文件地址为 <classpathentry kind="src" path=""/>,这样,在整个工程里面就会出现所有package错误,此时eclipse默认为package src.com.test, 而工程里面正确的包名应该是 package com.test
说明下:<classpathentry kind="src" path="src"/> 表示工程源文件的地址;
<classpathentry kind="output" path="/bin"/>表示产生的class文件地址;
另外,如果新生成的.classpath文件class文件地址为bin目录下的,即<classpathentry kind="output" path="/bin"/> ,tomcat部署工程的时候,默认去WebRoot/WEN-INF/classes这个目录查找class文件,而此时class文件去不存在于bin目录下面,故而tomcat下面没有class文件,在启动时也就会产生ClassNotFoundException错误!
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
每个新建java工程(Project)都默认存在的。
<classpathentry kind="src" ōutput="km230/apitest/classes" path="km230/apitest/src"/>
指定源文件位置, 对应工程属性Java build path中Source项中的一项, kind="src" 指明为源文件,
源文件路径path, output为这条路径中源文件编译以后class文件的输出路径。
<classpathentry kind="src" path="km230batch/src"/>
指定源文件位置, 对应工程属性Java build path中Source项中的一项, kind="src" 指明为源文件,
源文件路径path, 编译以后class文件的输出路径为默认输出路径。
<classpathentry kind="output" path="km230server/approot/WEB-INF/classes"/>
指定编译以后class文件的默认输出路径, 对应工程属性Java build path中Source项中的default output path,
kind="output"指明为默认class输出路径, path为相应输出路径。
注意: 这一条在文件中有且只能有一条(不可能同时出现两个默认吧?).
<classpathentry kind="lib" path="km230/lib/Notes.jar"/>
指定工程所用到的库文件或目录, 对应工程属性Java build path中Libraries项中的一项,
kind="lib"指明为库文件或目录, path为库文件或目录位置。
注意: 当指定库文件时(非库目录, 通常是jar包, 好像zip也可以, 不知道是否还有其它), 应当包含文件名。
<classpathentry kind="var" path="JUNIT_HOME/junit.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.0.0/src/org.junit_3.8.1/junitsrc.zip"/>
指定工程所用到的库文件或目录, 对应工程属性Java build path中Libraries项中的一项,
kind="var"指明带有全局编译路径中设置的变量(Window->Prefrences->Java->Build Path->Classpath Variables),
如上面的ECLIPSE_HOME, path为这个变量目录下的库文件(同样通常是jar包, 好像zip也可以, 也不知道是否还有其它)。
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文件中一致即可。
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/> <classpathentry kind="src" path="src/main/java" including="**/*.java"/> <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> <classpathentry kind="output" path="src/main/webapp/WEB-INF/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="lib" path="C:/Program Files/Java/jdk1.7.0_55/lib/jconsole.jar"/> <classpathentry kind="lib" path="C:/Program Files/Java/jdk1.7.0_55/lib/tools.jar"/> <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar"/> <classpathentry kind="var" path="M2_REPO/com/oracle/ojdbc14/10.2.0.4.0/ojdbc14-10.2.0.4.0.jar"/> <classpathentry kind="var" path="M2_REPO/opensymphony/sitemesh/2.4.2/sitemesh-2.4.2.jar"/> <classpathentry kind="var" path="M2_REPO/org/apache/xmlgraphics/fop/0.94/fop-0.94.jar"/> <classpathentry kind="var" path="M2_REPO/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar"/> <classpathentry kind="var" path="M2_REPO/com/ckfinder/ckfinder/2.3/ckfinder-2.3.jar"/> ... ... </classpath>
.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH
1.源文件的具体位置(kind="src")
2.运行的系统环境(kind="con")
3.工程的library的具体位置信息(kind="lib")
4.在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
5.项目的输出目录(kind="output")
1、.classpath文件时eclipse新建web工程的时候生成的一个文件,改变java Build path的时候或者改变加载的jar包顺序的时候,这个文件也会改变。
2、.classpath文件不能随意删除。个人在将已有的工程import进入eclipse工作区的时候将.classpath文件删除了,然后再重新导入jar包,整个工程就会重新编译,也就会产生.classpath文件,但是这个重新生成的.classpath文件的内容可能就会出问题,也就有可能导致在tomcat部署的时候出现不可预料的问题。
例如:
原始的.classpath文件部分主要内容如下:
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
个人删除后,eclipse重新build的.classpath文件部分主要内容如下:
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_11"/>
<classpathentry kind="output" path="/bin"/>
比较前后两个.classpath文件可以发现,重新build的.classpath文件里面的源文件地址为 <classpathentry kind="src" path=""/>,这样,在整个工程里面就会出现所有package错误,此时eclipse默认为package src.com.test, 而工程里面正确的包名应该是 package com.test
说明下:<classpathentry kind="src" path="src"/> 表示工程源文件的地址;
<classpathentry kind="output" path="/bin"/>表示产生的class文件地址;
另外,如果新生成的.classpath文件class文件地址为bin目录下的,即<classpathentry kind="output" path="/bin"/> ,tomcat部署工程的时候,默认去WebRoot/WEN-INF/classes这个目录查找class文件,而此时class文件去不存在于bin目录下面,故而tomcat下面没有class文件,在启动时也就会产生ClassNotFoundException错误!
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
每个新建java工程(Project)都默认存在的。
<classpathentry kind="src" ōutput="km230/apitest/classes" path="km230/apitest/src"/>
指定源文件位置, 对应工程属性Java build path中Source项中的一项, kind="src" 指明为源文件,
源文件路径path, output为这条路径中源文件编译以后class文件的输出路径。
<classpathentry kind="src" path="km230batch/src"/>
指定源文件位置, 对应工程属性Java build path中Source项中的一项, kind="src" 指明为源文件,
源文件路径path, 编译以后class文件的输出路径为默认输出路径。
<classpathentry kind="output" path="km230server/approot/WEB-INF/classes"/>
指定编译以后class文件的默认输出路径, 对应工程属性Java build path中Source项中的default output path,
kind="output"指明为默认class输出路径, path为相应输出路径。
注意: 这一条在文件中有且只能有一条(不可能同时出现两个默认吧?).
<classpathentry kind="lib" path="km230/lib/Notes.jar"/>
指定工程所用到的库文件或目录, 对应工程属性Java build path中Libraries项中的一项,
kind="lib"指明为库文件或目录, path为库文件或目录位置。
注意: 当指定库文件时(非库目录, 通常是jar包, 好像zip也可以, 不知道是否还有其它), 应当包含文件名。
<classpathentry kind="var" path="JUNIT_HOME/junit.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.0.0/src/org.junit_3.8.1/junitsrc.zip"/>
指定工程所用到的库文件或目录, 对应工程属性Java build path中Libraries项中的一项,
kind="var"指明带有全局编译路径中设置的变量(Window->Prefrences->Java->Build Path->Classpath Variables),
如上面的ECLIPSE_HOME, path为这个变量目录下的库文件(同样通常是jar包, 好像zip也可以, 也不知道是否还有其它)。
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文件中一致即可。
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/> <classpathentry kind="src" path="src/main/java" including="**/*.java"/> <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> <classpathentry kind="output" path="src/main/webapp/WEB-INF/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="lib" path="C:/Program Files/Java/jdk1.7.0_55/lib/jconsole.jar"/> <classpathentry kind="lib" path="C:/Program Files/Java/jdk1.7.0_55/lib/tools.jar"/> <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar"/> <classpathentry kind="var" path="M2_REPO/com/oracle/ojdbc14/10.2.0.4.0/ojdbc14-10.2.0.4.0.jar"/> <classpathentry kind="var" path="M2_REPO/opensymphony/sitemesh/2.4.2/sitemesh-2.4.2.jar"/> <classpathentry kind="var" path="M2_REPO/org/apache/xmlgraphics/fop/0.94/fop-0.94.jar"/> <classpathentry kind="var" path="M2_REPO/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar"/> <classpathentry kind="var" path="M2_REPO/com/ckfinder/ckfinder/2.3/ckfinder-2.3.jar"/> ... ... </classpath>