最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解eclipse項目中的.classpath文件原理

 更新時間:2021年12月31日 11:35:12   作者:pengmm1990  
這篇文章介紹了eclipse項目中的.classpath文件的原理,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1 前言

在使用eclipse或者myeclipse進行java項目開發(fā)的時候,每個project(工程)下面都會有一個.classpath文件,那么這個文件究竟有什么作用?

2 作用

.classpath文件用于記錄項目編譯環(huán)境的所有信息,包括:源文件路徑、編譯后class文件存放路徑、依賴的jar包路徑、運行的容器信息、依賴的外部project等信息。如果把該文件刪除,則eclipse不能講該工程識別為一個正常的java工程,僅僅當(dāng)做普通的文件夾而導(dǎo)致不能正常運行。

3 .classpath內(nèi)容

.classpath文件其實也是一個xml格式的內(nèi)容文件,其具體內(nèi)容大致如下:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="resource"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7">
        <attributes>
            <attribute name="owner.project.facets" value="java"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/學(xué)習(xí) 8080">
        <attributes>
            <attribute name="owner.project.facets" value="jst.web"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
    <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
</classpath>
  • ①以”classpath”為根節(jié)點,每個“classpathentry”節(jié)點代表一個說明信息。
  • ②每個“classpathentry”以“kind”屬性指明類型,“path”指明路徑。
  • ③以上文件的所有內(nèi)容,都是依賴項目中的“Java Build Path”內(nèi)容改變而改變的,即對“Java Build Path”的所有操作都會反應(yīng)到文件內(nèi)容中。

現(xiàn)在來具體分析文件內(nèi)容的每個節(jié)點含義

3.1 kind="src"

src:即source 源文件,代表的是一個源文件,path=”src”是一個相對路徑,相對.classpath文件本身,即path=”src”表示文件夾src與.classpath在同一個目錄,且代表源文件。

<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resource"/>

kind=”src”的操作對應(yīng)于“Java Build Path”的“Source”tab頁

如下圖,增加一個文件夾bin作為源文件,則.classpath文件增加內(nèi)容

內(nèi)容增加如下:

<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="bin"/>
<classpathentry kind="src" path="resource"/>

當(dāng)然,做相應(yīng)修改或刪除,同樣.classpath文件內(nèi)容會相應(yīng)改變。

另外,當(dāng)指定屬性combineaccessrules=”false”是則代表引入外部project,具體如下

<classpathentry combineaccessrules="false" kind="src" path="/mybatis"/>

對應(yīng)頁面tab,其中path=”/mybatis”,是相對應(yīng)workspace下的

絕對路徑。

3.2 kind="output"

output用于指定java源文件編譯后的class文件存放路徑,格式如下

<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>

path:代表存放class文件路徑,同樣是相對.classpath文件的路徑,找到“WebContent/WEB-INF/classes”,可以看到class文件的存放

假設(shè)修改輸出文件路徑,則相應(yīng)內(nèi)容也會改變

改為:spring-mybatis\WebContent\WEB-INF\newclasses

則.classpath文件內(nèi)容修改為:

<classpathentry kind="output" path="WebContent/WEB-INF/newclasses"/>

實際存放class文件的路徑也會改變

3.3 kind="con"

con即是container,就是程序運行的容器,或者就說是運行環(huán)境也OK,它實際上是在Myeclipse最初的時候要配置installed JREs中指定(一般情況下我們指定的是JDK),但是這里實際使用的是JDK下的JRE中的jar包,就是JDK_HOME/jre/lib就是對應(yīng)的這條語句。具體內(nèi)容如下

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7">
        <attributes>
            <attribute name="owner.project.facets" value="java"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/學(xué)習(xí) 8080">
        <attributes>
            <attribute name="owner.project.facets" value="jst.web"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>

對應(yīng)操作tab如下

3.3.1 JRE配置

path=”XXX”用于指定jre容器的使用情況,可選擇jre的不同來源,不同來源path的實際值會有些變化

①選擇”Workspace default JRE(jdk1.7)”,則值為

path="org.eclipse.jdt.launching.JRE_CONTAINER"

②選擇“Alternate JRE”,則值為

path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7"

其中最后么的jdk1.7是我自定義的JRE名稱

③選擇”Execution environment”,即選擇eclipse自帶的內(nèi)置jre,值為

path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"

其中最后么的JavaSE-1.7是系統(tǒng)內(nèi)置的JRE名稱

另外屬性值name=”owner.project.facets”

<attribute name="owner.project.facets" value="java"/>

應(yīng)該是指定JRE容器的具體使用的模板,默認(rèn)使用”java”,具體的沒有探究。

3.3.2 Server Runtime配置

同理,其他容器配置同上,如對Server Runtime 容器的配置,下面配置了tomcat容器運行環(huán)境

<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/學(xué)習(xí) 8080"/>

3.3.3 Web App Libraries配置

<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>

3.3.4 User Library配置

<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/tomcat7"/>

3.4 kind="lib"

kind="lib"用于指定project依賴的Referenced Libraries,如圖增加了一個jar包

則相應(yīng).classpath文件內(nèi)容增加

<classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-dbcp-1.2.1.jar"/>

其中path指定了依賴的jar的相對路徑。

3.5 順序

.classpath文件中各節(jié)點的順序是通過tab-Order and Export 來控制的,不同的順序可能會引起加載class文件問題,一般是源碼放在最前面。

到此這篇關(guān)于詳解eclipse項目中的.classpath文件原理的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot中實現(xiàn)Redis緩存預(yù)熱

    SpringBoot中實現(xiàn)Redis緩存預(yù)熱

    緩存預(yù)熱是一種在系統(tǒng)啟動后,但在實際使用前將數(shù)據(jù)加載到緩存中的技術(shù),本文主要來和大家一起探討如何在Spring Boot應(yīng)用程序中實現(xiàn)Redis緩存預(yù)熱,以確保系統(tǒng)在處理請求前就已經(jīng)處于最佳狀態(tài),感興趣的可以了解下
    2023-11-11
  • Redis緩存及熱點key問題解決方案

    Redis緩存及熱點key問題解決方案

    這篇文章主要介紹了Redis緩存及熱點key問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Springboot中useGeneratedKeys用法小結(jié)

    Springboot中useGeneratedKeys用法小結(jié)

    本文主要介紹了Springboot中useGeneratedKeys用法小結(jié),useGeneratedKeys?是 MyBatis 框架中的一個參數(shù),用于指定是否允許 JDBC 支持自動生成主鍵,感興趣的可以了解一下
    2024-09-09
  • 使用spring+maven不同環(huán)境讀取配置方式

    使用spring+maven不同環(huán)境讀取配置方式

    這篇文章主要介紹了使用spring+maven不同環(huán)境讀取配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 深入學(xué)習(xí)Java單元測試(Junit+Mock+代碼覆蓋率)

    深入學(xué)習(xí)Java單元測試(Junit+Mock+代碼覆蓋率)

    在做單元測試時,代碼覆蓋率常常被拿來作為衡量測試好壞的指標(biāo),甚至,用代碼覆蓋率來考核測試任務(wù)完成情況,比如,代碼覆蓋率必須達(dá)到80%或 90%。下面我們就來詳細(xì)學(xué)習(xí)下java單元測試吧
    2019-06-06
  • spring利用squertz實現(xiàn)定時任務(wù)

    spring利用squertz實現(xiàn)定時任務(wù)

    spring squertz是一個強大的定時任務(wù)處理方式。下面這篇文章主要介紹了spring利用squertz實現(xiàn)定時任務(wù)的相關(guān)資料,文中介紹的很詳細(xì),對大家具有一定的參考借鑒價值,需要的朋友們下面來一起看看吧。
    2017-01-01
  • SpringMVC超詳細(xì)介紹自定義攔截器

    SpringMVC超詳細(xì)介紹自定義攔截器

    Spring?MVC?的攔截器(Interceptor)與?Java?Servlet?的過濾器(Filter)類似,它主要用于攔截用戶的請求并做相應(yīng)的處理,通常應(yīng)用在權(quán)限驗證、記錄請求信息的日志、判斷用戶是否登錄等功能上。本文將代碼演示和文字描述詳解攔截器的原理與使用
    2022-06-06
  • Minio?上傳文件請求負(fù)載原理解析

    Minio?上傳文件請求負(fù)載原理解析

    MinIO集群通過分布式存儲和負(fù)載均衡機制實現(xiàn)文件上傳請求的分發(fā),核心原理包括數(shù)據(jù)分片和冗余、負(fù)載均衡、一致性哈希和并行處理,Java示例展示了如何實現(xiàn)文件上傳分發(fā)邏輯,感興趣的朋友一起看看吧
    2025-03-03
  • 解決idea 暫存文件或idea切換分支代碼丟失的問題

    解決idea 暫存文件或idea切換分支代碼丟失的問題

    這篇文章主要介紹了解決idea 暫存文件或idea切換分支代碼丟失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • javaweb學(xué)習(xí)總結(jié)——使用JDBC處理MySQL大數(shù)據(jù)

    javaweb學(xué)習(xí)總結(jié)——使用JDBC處理MySQL大數(shù)據(jù)

    本篇文章主要介紹了JDBC處理MySQL大數(shù)據(jù),有時是需要用程序把大文本或二進制數(shù)據(jù)直接保存到數(shù)據(jù)庫中進行儲存的,非常具有實用價值,需要的朋友可以參考下。
    2016-11-11

最新評論

长宁县| 灵丘县| 张家川| 出国| 宝应县| 秦安县| 莲花县| 青州市| 镇安县| 庐江县| 八宿县| 三原县| 池州市| 思南县| 丹凤县| 辉南县| 巩义市| 宁武县| 宝丰县| 满洲里市| 栖霞市| 拜泉县| 大厂| 台中市| 天祝| 泰州市| 乌兰浩特市| 深水埗区| 尚义县| 奇台县| 海晏县| 南通市| 万安县| 张北县| 南雄市| 祁阳县| 进贤县| 谷城县| 罗山县| 郸城县| 兴文县|