當編寫Java代碼時,我們總是需要一些庫,例如,做單元測試我們需要JUnit庫,做String操作我們需要Apache Common Util庫。
對于更大的項目,我們可能需要創(chuàng)建自己的庫并在不同的部分使用它的項目。
庫Java文件打包在JAR文件中,需要這些JAR文件在編譯項目代碼時在類路徑上。
不同的項目需要不同版本的庫。 保持項目最新的庫JAR文件的正確版本不是一個容易的任務。
每個外部JAR可能還依賴于其他外部JAR文件等。以遞歸方式下載所有這些外部依賴JAR文件并確保下載正確的版本是一項巨大的任務。
當項目越來越大,我們將需要越來越多的外部依賴。
當項目越來越大,我們將需要越來越多的外部依賴。...
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存儲庫。
如果已經在本地存儲庫中找到依賴項,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
文件中下載快照依賴關系的頻率。
更多建議: