`
yanguz123
  • 浏览: 556024 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Eclipse中的.project文件、classpath文件

 
阅读更多
<?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>

 

分享到:
评论

相关推荐

    eclipse下的.classpath文件和.project文件

    NULL 博文链接:https://wangbing9577.iteye.com/blog/2175197

    【白雪红叶】eclipse项目结构介绍.xmind

    eclipse项目结构 .project .classpath .mymetadata setings 用以解决环境问题

    gradle-android-eclipse:一个Gradle插件,可以生成Eclipse项目文件(.project和.classpath),从而可以将Eclipse IDE用于Android项目

    一个Gradle插件,可以生成Eclipse项目文件(.project和.classpath),从而可以将Eclipse IDE用于Android项目。 该生成器可与新的。 基于。 它能做什么 通过执行以下操作,此插件可以连接到,以使其适用于Android...

    Eclipse中文教程.pdf

    Eclipse – 整合开发工具(基础篇) Jacky Lee 2005/03/01 教程特点: 1、图文并茂的详细介绍了eclipse的使用方法 2、虽然是pdf,但是非影音版,所有相当清晰 3、含文档结构目录,可以方便的跳转到对应章节 4、允许...

    01_Java版数据结构与算法 02_算法_直通BAT算法精讲

    org.eclipse.jdt.core.prefs BinaryTree$TreeNode.class BinaryTree.class BinaryTree.java 作业.txt 树.pptx 2016-10-11_220207.wmv 2016-10-11_225649.wmv 二叉树的建立.pptx 作业.txt 2016-10-13_215451.wmv 2016...

    project文件

    解决java项目缺少其他组件无法导入到eclipse的情况,注意与bin,src,.classpath放在同一目录下。

    Eclipse从入门到精通.rar

    3.6.2 类别路径变量(Classpath variables)...... 119 3.6.3 程序代码格式制作器(Code Formatter)..... 120 3.6.4 程序代码产生(Code generation).......... 122 Eclipse 中文教程.doc 第 5 頁,共 288 頁 3.6.5 ...

    eclipse-testng离线包

    接口测试,eclipse testng离线包是eclipse的插件,怎么在Eclipse下配置TestNG环境。 1. 安装Eclipse: http://www.eclipse.org/downloads/ ... 3. 配置Java环境变量: JAVA_HOME,...6. 在Java Project中使用TestNG测试

    bcsl.rar_Java 8

    如果你使用的是JBuilder或Eclipse,将这三个文件加到工程的java buildpath中 2.升级你的SQL Server 2000,为其打上最新的补丁. 这一步可能不是必需的,因操作系统环境而定,在不打补丁的情况,有时可以正常连接,有时却...

    android项目无法导入时需要拷贝的文件

    android项目无法导入时需要拷贝的...如果无法导入,请将.classpath和.project文件拷贝到这个项目目录下。注意,用文本工具打开.project文件的话,你会发现这是一个XML文件,一定要保持name标签中的内容与项目名称一致。

    eclipse全程指南 源代码 课后光盘

    每一个项目目录中的.classpath文件是Eclipse的项目路径文件;.project文件是Eclipse项目的项目描述文件。读者可以通过两种方法使用这些源代码: (1)从头创建项目,这种方式要求读者根据书中介绍的方法创建项目、包...

    eclipse全程指南-王占全

    每一个项目目录中的.classpath文件是Eclipse的项目路径文件;.project文件是Eclipse项目的项目描述文件。读者可以通过两种方法使用这些源代码: (1)从头创建项目,这种方式要求读者根据书中介绍的方法创建项目、包...

    Eclipse中文教程

    Eclipse中文教程三册全集 0.环境说明 .................................................................... 8 1.Eclipse 简介................................................................. 9 1.1 历史背景...

    钓鱼女孩,使用 Slick 2d 的简单钓鱼游戏。

    文件 Fishing-Girl-master.zip 包含以下条目。 .classpath/*w w w . j a va 2s . com*/ .gitignore .project .settings/org.eclipse.jdt.core.prefs OpenAL32.dll data/airBubble1.png data/background.png data/...

    3D FPS 游戏引擎 WIP

    .classpath// ww w. j a va2 s . co m .gitignore .project .settings/org.eclipse.jdt.core.prefs README.md ivy.xml src/fps3d/Bullet.java src/fps3d/Entity.java src/fps3d/FPS3D.java src/fps3d/KeyboardLayout...

    hadoop1.1.2 eclipse 插件

    3、修改 D:\hadoop-1.1.2\src\contrib\eclipse-plugin下的build.xml文件 Xml代码 ${hadoop.root}/build/classes"/&gt; ${hadoop.root}/build/classes"/&gt; 插入 Xml代码 ${hadoop.root}/hadoop-core-1.1.2.jar"/&gt; ...

    appfuse.tar.gz

    You can also define the M2_REPO classpath variable inside Eclipse. From the menu bar, select Window &gt; Preferences. Select the Java &gt; Build Path &gt; Classpath Variables page. Add a new one with a name ...

    simple-webapp

    **Ant 没有附带任何关于源代码或...archetype-webapp -DinteractiveMode=false (2)在“${basedir}/src/main/”中添加java文件夹(3)通过 mvn eclipse:clean eclipse:eclipse 创建 .classpath 和 .project 文件(4)在pom.x

    Java简单模拟ATM机项目

    另在db文件夹中附带两种数据库(mysql、sqlserver)表结构。 bin cn bank action CheckBalance.class LoginAction.class ModifyPsw.class TransferAccountsAction.class UpdateBalance....

    git-ignore:自定义.gitignore文件

    **当前.gitignore文件的内容如下所示,您可以将此仓库添加为上游** ## .gitignore for Grails 1.2 and 1.3 # .gitignore for maven target/ *.releaseBackup # web application files #/web-app/WEB-INF # IDE ...

Global site tag (gtag.js) - Google Analytics