`
yanguz123
  • 浏览: 570345 次
  • 性别: 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文件

    在Eclipse这款流行的Java集成开发环境中,.classpath和.project文件是两个至关重要的配置文件,它们对于项目的构建、编译和运行起着核心作用。本文将深入探讨这两个文件的用途、结构以及它们如何协同工作,帮助...

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

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

    eclipse一打开就会出现这个情况Loading descriptor for.......docx

    1. **项目配置损坏**:可能是项目的一些配置文件(如`.project`、`.classpath`等)被意外修改或损坏,导致Eclipse无法正确解析。 2. **插件冲突**:Eclipse中的某些插件可能与项目的类型不兼容,或者存在版本冲突,...

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

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

    Eclipse开发Android源码

    1. **复制.classpath文件**:将`development/ide/eclipse/.classpath`文件拷贝到Android源码的根目录下,并确保文件具有写权限,可以通过以下命令实现: ``` cp development/ide/eclipse/.classpath . chmod u+w ...

    Eclipse使用.

    同时,了解常见问题的解决方案,如解决CVS文件下载失败、项目导入、打包War和Jar文件、文件显示方式调整等,将有助于应对开发过程中的各种挑战。 #### 相关资料 为了深入学习和掌握Eclipse,参考相关资料和社区...

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

    Java环境配置及Eclipse入门.doc

    - **创建Java项目**:在Eclipse中,可以通过"File" -&gt; "New" -&gt; "Java Project"来创建一个新的Java项目。 - **编写代码**:在项目的src目录下,右键选择"New" -&gt; "Class"创建一个新的Java类,并编写代码。 - **...

    project文件

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

    com.leucht.eclipse.externaldiff_0.1.1-源码.rar

    2. **项目配置文件**:如.project和.classpath,这些是Eclipse项目特有的配置文件,用于定义项目属性、构建路径等。 3. **资源文件**:如图片、文本文件等,用于插件的界面展示或其他用途。 4. **manifest文件**:...

    eclipse中Jar 文件的创建与使用

    2. **在Eclipse中运行**:在Eclipse中,可以创建一个新的运行配置,选择`Java Application`,然后在"Main Class"中指定你的主类,并在"Project"中选择包含Jar文件的目录。 3. **作为项目依赖**:如果Jar文件是作为...

    Eclipse中导入Java程序.pdf

    但是,需要注意的是,需要确保要导入的项目中包含.project和.classpath两个文件,否则将无法成功导入项目。 二、导入Java源程序 除了导入Java项目外,还可以导入Java源程序,即.java文件。这种情况下,需要先建立...

    在Eclipse中导入Java程序

    如果导入的项目缺少`.project`和`.classpath`文件,那么Eclipse无法识别这是一个完整的项目,此时你需要采取其他方式导入。例如,你可以直接导入Java源代码文件(.java): 1. 可以选择创建一个新的Java项目,然后...

    java的jdk和eclipse的安装.rar

    5. **创建Java项目**:现在你可以在Eclipse中创建新的Java项目,通过`File &gt; New &gt; Java Project`。输入项目名,点击下一步,确认JRE版本,然后完成创建。此时,你可以在新建的项目中编写Java代码,Eclipse会自动...

    Eclipse Web Project转Dynamic Project

    完成上述步骤后,项目应该已经被成功地转换成了Dynamic Web Project,并且可以在Eclipse中正常部署和运行了。 #### 四、小结 本文详细介绍了如何将一个Eclipse Java Project转换成Dynamic Web Project的具体步骤。...

    SSH_ssh_ssh源码eclipse_Eclipse.zip

    Eclipse项目通常包含`.project`和`.classpath`文件,这些文件定义了项目的构建路径和属性。源代码文件可能按照标准的Java项目结构组织,如`src/main/java`存放Java源码,`src/main/resources`存储资源文件,`build....

    jsh_eclipse.rar

    3. **配置文件**:Eclipse项目通常有.project和.classpath文件,它们定义了项目属性和依赖项。如果有这些文件,说明这是一个完整的Eclipse项目。 4. **构建脚本**:可能包含Maven的pom.xml或Gradle的build.gradle...

    org.apache 文件上传

    Apache Commons FileUpload库是Java中常用的一个处理HTTP请求中文件上传的工具包,它使得开发者能够轻松地从表单中接收多个文件。这篇博客文章(链接已提供)可能详细解释了如何在Java应用中集成和使用这个库。 ...

    JPF的Eclipse环境安装运行过程

    1. 在 Eclipse 中,选择 Project -&gt; Properties 2. 选择 Builders 3. 选择 Ant_Builder -&gt; 点击 Edit 4. 点击 JRE 选项卡 5. 选择 Separate JRE -&gt; Installed JREs 6. 在 Windows 和 Unix-based 系统中,选择 JDK ...

Global site tag (gtag.js) - Google Analytics