1. 程式人生 > >java項目中.classpath,.settings,.project,mymetadata文件的作用

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

創建 不需重啟 mvc 表示 源文件 輸出 classpath 鏈接 cti

今天犯了一個錯誤,誤修改了本地的.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文件的作用