java項目中.classpath,.settings,.project,mymetadata文件的作用
今天犯了一個錯誤,誤修改了本地的.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 [email protected] 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
java項目中.classpath,.settings,.project,mymetadata文件的作用