W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
粗略的講, 依賴管理由兩部分組成. 首先, Gradle 需要了解你的項目需要構建或運行的東西, 以便找到它們. 我們稱這些傳入的文件為項目的 dependencies(依賴項). 其次, Gradle 需要構建并上傳你的項目產生的東西. 我們稱這些傳出的項目文件為 publications(發(fā)布項). 讓我們來看看這兩條的詳細信息:
大多數(shù)項目都不是完全獨立的. 它們需要其它項目進行編譯或測試等等. 舉個例子, 為了在項目中使用 Hibernate, 在編譯的時候需要在 classpath 中添加一些 Hibernate 的 jar 路徑. 要運行測試的時候, 需要在test classpath 中包含一些額外的 jar, 比如特定的 JDBC 驅動或者 Ehcache jars.
這些傳入的文件構成上述項目的依賴. Gradle 允許你告訴它項目的依賴關系, 以便找到這些依賴關系, 并在你的構建中維護它們. 依賴關系可能需要從遠程的 Maven 或者 Ivy 倉庫中下載, 也可能是在本地文件系統(tǒng)中, 或者是通過多項目構建另一個構建. 我們稱這個過程為 dependency resolution(依賴解析).
這一特性與 Ant 相比效率提高了許多. 使用 Ant, 你只有指定 jar 的絕對路徑或相對路徑才能讀取 jar. 使用 Gradle, 你只需要申明依賴的名稱, 然后它會通過其它的設置來決定在哪里獲取這些依賴關系, 比如從 Maven 庫. 你可以為 Ant 添加 Apache Ivy 庫或得類似的方法, 但是 Gradle 做的更好.
通常, 一個項目本身會具有依賴性. 舉個例子, 運行 Hibernate 的核心需要其他幾個類庫在 classpath 中. 因此, Gradle 在為你的項目運行測試的時候, 它會找到這些依賴關系, 并使其可用. 我們稱之為transitive dependencies(依賴傳遞).
大部分項目的主要目的是要建立一些文件, 在項目之外使用. 比如, 你的項目產生一個 Java 庫,你需要構建一個jar, 可能是一個 jar 和一些文檔, 并將它們發(fā)布在某處.
這些傳出的文件構成了項目的發(fā)布. Gradle 當然會為你負責這個重要的工作. 你聲明項目的發(fā)布, Gradle 會構建并發(fā)布在某處. 究竟什么是"發(fā)布"取決于你想做什么. 可能你希望將文件復制到本地目錄, 或者將它們上傳到一個遠程 Maven 或者 Ivy 庫.或者你可以使用這些文件在多項目構建中應用在其它的項目中. 我們稱這個過程為 publication(發(fā)布)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: