我有我的多項目Maven項目的一些問題。Maven的多項目問題
的問題如下: 我有一個以下面的方式組織了一個項目:
root
+-- pom.xml
!
+-- module1
! +-- pom.xml
+-- module2
+-- pom.xml
凡module2
取決於module1
。
Module1
打包爲war
,它還生成module2
依賴於的jar
文件。 只要在module2
中進行更改,即一切正常,即module1.jar
已處於遠程回購,但是在mvn clean release:clean release:prepare release:perform
期間兩個模塊都發生更改時出現錯誤,說明在遠程回購中找不到module1.jar
。 因此,要解決這個問題我已經加入maven-install-plugin
到Module1
的POM文件是這樣的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<file>${project.build.directory}/${project.artifactId}-${project.version}.jar</file>
<!-- <packaging>jar</packaging> -->
</configuration>
<executions>
<execution>
<id>install</id>
<phase>compile</phase>
<goals>
<goal>install</goal>
</goals>
</execution>
</executions>
每當我註釋掉<packaging>jar</packaging>
它試圖安裝Module1
jar文件到本地回購爲war
文件(我猜測,由默認它會從POM文件中拾取包裝)。所以我得到這樣的:
[INFO] [INFO] [jar:jar {execution: creation}]
[INFO] [INFO] Building jar: ${project.build.directory}/${project.artifactId}-${project.version}.jar
[INFO] [INFO] [install:install {execution: install}]
[INFO] [INFO] Installing ${project.build.directory}/${project.artifactId}-${project.version}.jar to <.m2_local_repo>/<proper_path>/${project.version}/${project.artifactId}-${project.version}.war
但是如果我未評論<packaging>jar</packaging>
它抱怨說,我在嘗試設置只讀屬性。
所以這個問題我有,我怎麼能我的構建過程中安裝jar
文件到我的本地回購?
更新問題瓦特/的module1
和module2
POM文件中的某些部分:
module2
POM部分:
<parent>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>1.01-SNAPSHOT</version>
</parent>
<artifactId>module2</artifactId>
<version>1.08-SNAPSHOT</version>
<packaging>war</packaging>
...
<dependency>
<groupId>...</groupId>
<artifactId>module1</artifactId>
<version>4.18-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
module1
POM:
<parent>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>1.01-SNAPSHOT</version>
</parent>
<artifactId>module1</artifactId>
<version>4.18-SNAPSHOT</version>
<packaging>war</packaging>
我添加安裝插件,以確保module1.4.18.jar
將本地安裝,這樣module2.0.18.war
將能夠使用module1.4.18.jar
你見識什麼是父POM版本和submododules? – MariuszS
根的POM:1.01快照模塊1:4.18,快照模塊2:1.08的快照和依賴設置是這樣的:\t \t' \t \t \t 模塊1 GRPID \t \t \t 模塊1工件ID \t \t \t 4.18-SNAPSHOT \t \t \t 編譯 \t \t ' –
父pom有''定義?是父母和模塊中的不同版本的特殊原因? –
MariuszS