Maven 依賴

2018-04-20 11:22 更新

Maven教程 - Maven依賴


當編寫Java代碼時,我們總是需要一些庫,例如,做單元測試我們需要JUnit庫,做String操作我們需要Apache Common Util庫。

對于更大的項目,我們可能需要創(chuàng)建自己的庫并在不同的部分使用它的項目。

庫Java文件打包在JAR文件中,需要這些JAR文件在編譯項目代碼時在類路徑上。

不同的項目需要不同版本的庫。 保持項目最新的庫JAR文件的正確版本不是一個容易的任務。

每個外部JAR可能還依賴于其他外部JAR文件等。以遞歸方式下載所有這些外部依賴JAR文件并確保下載正確的版本是一項巨大的任務。

當項目越來越大,我們將需要越來越多的外部依賴。



Maven依賴管理

當項目越來越大,我們將需要越來越多的外部依賴。...

Maven將下載它們并將它們放在您的本地Maven存儲庫中。

Maven將下載它們并將它們放在您的本地Maven存儲庫中。...

我們可以在POM文件中的dependencies元素內指定依賴關系。

這里是一個例子:

<project ...>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.java2s.crawler</groupId>
    <artifactId>java-web-crawler</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.7.3</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>


注意

在上面的代碼中有兩個依賴元素。每個依賴項元素描述一個外部依賴項。

每個依賴關系由其groupId,artifactId和版本描述。

我們使用groupId,artifactId和version來識別自己的項目在頂部pom文件。 我們還使用這三個字段來標識庫。

我們使用groupId,artifactId和version來識別自己的項目在頂部pom文件。 我們還使用這三個字段來標識庫。...

當執(zhí)行此POM文件時,這兩個依賴項將從中央Maven存儲庫下載并放入本地Maven存儲庫(如果缺少依賴項)您的本地Maven存儲庫。

如果已經(jīng)在本地存儲庫中找到依賴項,Maven將不會下載它們。

如果給定的依賴在中央Maven存儲庫中不可用。您可以自己下載依賴關系并將其放入本地Maven存儲庫。

記住將其放入與groupId,artifactId和版本匹配的子目錄結構中。 用/代替所有點(。),并用 / 分隔groupId,artifactId和版本。

以上示例下載的兩個依賴項將放入以下子目錄中:

MAVEN_REPOSITORY_ROOT/junit/junit/4.8.1
MAVEN_REPOSITORY_ROOT/org/jsoup/jsoup/1.7.3

外部依賴

Maven外部依賴關系是不在本地或遠程的依賴JAR文件Maven倉庫。

外部依賴項可能位于您自己的本地硬盤上。

外部依賴項可能位于您自己的本地硬盤上。...

我們可以這樣配置一個外部依賴:

<dependency>
  <groupId>mydependency</groupId>
  <artifactId>mydependency</artifactId>
  <scope>system</scope>
  <version>1.0</version>
  <systemPath>${basedir}\war\WEB-INF\lib\mydependency.jar</systemPath>
</dependency>    

我們可以這樣配置一個外部依賴:...

scope 元素值設置為system。 systemPath 元素指向JAR文件的位置。

scope 元素值設置為system。 systemPath 元素指向JAR文件的位置。...

快照依賴關系

快照依賴關系是開發(fā)中的依賴JAR文件。

不是不斷地更新版本號以獲得最新版本,您可以將依賴項JAR文件標記為快照,以便Maven始終下載它。

即使匹配的快照版本已下載到本地存儲庫中,快照版本也始終會下載到本地存儲庫中。

即使匹配的快照版本已下載到本地存儲庫中,快照版本也始終會下載到本地存儲庫中。...

這里是一個版本元素的例子:

<version>1.0-SNAPSHOT</version>

這里是一個版本元素的例子:...

當在pom.xml中聲明 dependency 元素時,我們必須使用 -SNAPSHOT 以及以下。

<dependency>
    <groupId>com.jenkov</groupId>
    <artifactId>java-web-crawler</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

附加到版本號的 -SNAPSHOT 標記快照依賴庫在Maven。

我們可以配置Maven在Maven settings.xml 文件中下載快照依賴關系的頻率。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號