java项目中.classpath,.settings,.project,mymetadata文件的作用

时间:2021-12-01 21:11:54

今天犯了一个错误,误修改了本地的.classpath文件,导致项目好多地方报错,之前也没有仔细的研究过项目中的一些生成文件的作用。

今天特此进行记录。

不管我们在eclipse中新建任何的Java项目或者web项目。都会在该项目的的位置下同时生成.seetings .classpath .project 这三个文件。

.settings 文件里面存放各种插件的配置文件。这个文件是eclipse查看js文件的时候用的,记录了用什么编码方式查看。与发布无关。.settings\文件夹不会被打到.war包里。
.project是项目文件,即工程构建配置文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置
.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH,即项目所用的外部引用包的路径。系统的环境变量,VM加载类的时候要按这个路径下去找,

.mymetadata 保存的是工程属性文件

************:

1..classpath文件可以从同类型的项目中直接拷贝,

2.在项目发包的时候,会看不到.classpath,.settings , .project文件等,是因为在项目发包的过程中,已经经过编译,将其加载到ServiceContants中。

在一个项目中点刷新的目的是为了更新.project文件中的文件清单,让你把不通过eclipse提交到项目的文件显示出来

.classpath 文件

<?xml version=”1.0” encoding=”UTF-8”?>

<classpath>

<classpathentry kind=”src” path=”src/java”/>

<classpathentry kind=”src” output=”target/test-classes” path=”src/test”/>

<classpathentry kind=”con” path=”org.eclipse.jdt.launching.JRE_CONTAINER”/>

<classpathentry kind=”var” path=”MAVEN_REPO/activation/jars/activation-1.0.jar”/>

<classpathentry kind=”var” path=”MAVEN_REPO/mvc/jars/mvc-1.0.jar”/>

<classpathentry kind=”var” path=”MAVEN_REPO/ehcache/jars/ehcache-1.0.jar”/>

<classpathentry kind=”var” path=”MAVEN_REPO/CodeManager/jars/CodeManager-1.0.jar”/>

<classpathentry kind=”var” path=”MAVEN_REPO/jetspeed/jars/jetspeed-1.4.jar”/>

<classpathentry kind=”var” path=”MAVEN_REPO/dwr/jars/dwr-1.1.1.jar”/>

<classpathentry kind=”var” path=”MAVEN_REPO/servletapi/jars/servletapi-2.4.jar”/>

<classpathentry kind=”var” path=”MAVEN_REPO/jspapi/jars/jsp-api-2.0.jar”/>

<classpathentry kind=”lib” path=”D:/workspace/repository/junit/jars/junit-3.8.1.jar”/>

<classpathentry kind=”output” path=”target/classes”/>

</classpath>

1、src是源文件具体目的地;
2、output是类文件输出目的的;
3、con是eclipse运行时所需的核心包;
4、var是通过环境变量的形式增加的一些 JAR包;
5、lib是直接加入的JAR包;
所以需要加入一些第三方的JAR文件时,直接编辑此文件即可,eclipse不需重启,工程即可生效;因为实质上这个文件就是配置整个工程的运行环境。

.project 文件

  <?xml version="1.0" encoding="UTF-8"?>
< 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>

1、工程名<name></name>
2、工程注释描述<comment></comment>
3、运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>
4、链接工程外部的资源<linkedResources></linkedResources>,链接后可以看做是在本工程的资源来使用,但并不在本地创建相应的资源。
<name>JavaSrc</name>为本工程显示的资源名称;
<type>2</type>资源类型(1–文件,2–目录。貌似除了1表示文件,x.x形式的带小数点的都表示文件,无论小数点后有几位和小数点前的数有多大);
<location>D:/workspace/study/petstore/src</location>为工程外部链接的资源。

可参考:https://yq.aliyun.com/articles/2597

http://183.207.103.93/IMP/resManage/playerRecord