0
我有兩個項目。項目A & B.項目B依賴於項目A. 要運行項目B,必須在項目B的pom.xml中添加項目A的依賴項。如何使用maven訪問模塊中的文件,而無需在本地.m2存儲庫和中央Maven存儲庫中進行搜索?
如果我改變的東西,從項目答:我要做的MVN重新安裝更新與項目A的最新代碼,然後我可以運行項目B.
我可以訪問項目A的項目更改代碼的本地庫B沒有做mvn安裝?
我有兩個項目。項目A & B.項目B依賴於項目A. 要運行項目B,必須在項目B的pom.xml中添加項目A的依賴項。如何使用maven訪問模塊中的文件,而無需在本地.m2存儲庫和中央Maven存儲庫中進行搜索?
如果我改變的東西,從項目答:我要做的MVN重新安裝更新與項目A的最新代碼,然後我可以運行項目B.
我可以訪問項目A的項目更改代碼的本地庫B沒有做mvn安裝?
不可以。您不能訪問更新的代碼。這是因爲,當你構建一個Maven應用程序時,它會從你的.m2存儲庫中獲得所有的依賴關係。如果它沒有找到那裏的依賴關係,那麼它會搜索你的遠程倉庫。
對於您的情況,當您更新A的代碼並且不構建它時,更新後的工件將不會在您的.m2存儲庫中可用。現在,如果您構建項目B,那麼它將嘗試從.m2存儲庫中獲取項目A artiufact。由於在修改代碼後沒有構建A,因此B將獲取當前存在於.m2文件夾中的工件,即舊代碼的工件。
您可以使用的另一種方法是擁有一個父pom。這只是一個聚合器pom,它將爲你的兩個模塊執行pom.xml。對於如:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mavenbook.multispring</groupId>
<artifactId>simple-parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>module-A</module>
<module>module-B</module>
</modules>
</project>
請注意,這樣做的包裝應POM。