我有一个看起来像
的大项目 main_pom
|
|_ module_1 \
|_ module_2 -|--- parent_pom_1
|_ module_3 /
|
|_module_4 \
|_module_5 -|--- parent_pom_2
|_module_6 /
所以当我第一次参加项目的时候,我也是由parent_pom_1和parent_pom_2提供的,我用手"单独安装了#34;。 我已经创建了一个apache archiva maven存储库,我在其中部署了我的工件和parent_poms。
Main_pom看起来像:
<modelVersion>4.0.0</modelVersion>
<groupId>some_group</groupId>
<artifactId>main_pom</artifactId>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>group_id_of_parent_pom_1</groupId>
<artifactId>parent_pom_1</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>group_id_of_parent_pom_2</groupId>
<artifactId>parent_pom_2</artifactId>
<version>LATEST</version>
</dependency>
</dependencies>
</dependencyManagement>
<modules>
<module>modules/module_1</module>
<module>modules/module_2</module>
<module>modules/module_3</module>
<module>modules/module_4</module>
<module>modules/module_5</module>
<module>modules/module_6</module>
</modules>
<distributionManagement>
<repository>
<id>my_repo_id</id>
<name>my_repo_name</name>
<url>my_repo_url</url>
</repository>
<snapshotRepository>
<id>my_repo_id</id>
<name>my_repo_name</name>
<url>my_repo_url</url>
</snapshotRepository>
</distributionManagement>
</project>
当我去main_pom文件夹并执行
时mvn install
有下一个错误:
[ERROR] The build could not read 20 projects -> [Help 1] [ERROR] The project module_1-pom:10.0.1-SNAPSHOT has 1 error [ERROR] Non-resolvable parent POM for module_1-pom::10.0.1-SNAPSHOT: Could not find artifact parent_pom_1:pom:10.0.1-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 4, column 11 -> [Help 2]
据我所知 - maven首先没有下载并安装parent_poms。
我如何配置maven以这种方式工作?
答案 0 :(得分:0)
这个项目有几个问题。首先,结构不是一个好主意。最好采取以下措施:
main_pom
+- pom.xml
|
+-- parent-pom_1 (parent: main_pom)
+-- pom.xml
|_ module_1
|_ module_2
|_ module_3
+-- parent-pom_2 (parent:main_pom)
|_module_4
|_module_5
|_module_6
这意味着您不需要手动安装父pom ...您只需使用以下命令即可从root开始:
mvn clean package
无需mvn clean install
...
使用LATEST
as version is deprecated and should not be used anymore。并且定义对父母的依赖将无论如何都无济于事。
<dependency>
<groupId>group_id_of_parent_pom_1</groupId>
<artifactId>parent_pom_1</artifactId>
<version>LATEST</version>
</dependency>
除了上述内容,如果您使用SNAPSHOT版本作为父项,则整个构建不可重现..