我在构建maven项目时遇到了这个问题......
mvn项目父级设置如下:
<groupId>com.company.system.ping</groupId>
<artifactId>system-ping</artifactId>
<name>system-ping</name>
<parent>
<artifactId>parent_lvl_1</artifactId>
<groupId>com.company.system</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
然后我找父母的POM找到了这个:
<groupId>com.company.system</groupId>
<artifactId>parent_lvl_1</artifactId>
<packaging>pom</packaging>
<name>_proj_test</name>
<version>1.0-SNAPSHOT</version>
<parent>
<artifactId>parent_lvl_0</artifactId>
<groupId>com.company</groupId>
<version>1</version>
</parent>
我终于看到了第一个父母并看到了这个:
<groupId>com.company</groupId>
<artifactId>parent_lvl_0</artifactId>
<packaging>pom</packaging>
<name>_main</name>
<version>1</version>
<description>The whole Projects</description>
现在我查看模块:
<modules>
<module>../_proj_test</module>
...
</modules>
第一个父模块引用了一个孩子!所以当我尝试
时mvn install
on'_main'我明白了:
[ERROR] The project com.company.system:_proj_test:1.0-SNAPSHOT (C:\...\pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: The repository system is offline but the artifact com.company:_main:pom:1 is not available in the local repository. and 'parent.relativePath' points at wrong local POM @ line 4, column 10 -> [Help 2]
[ERROR]
我将其翻译为: 您的父母需要一个需要您回复的模块 。如果我在 modules 中注释掉所有内容,我可以正确安装所有内容,但这对我来说不合适!如何在不构建模块依赖项的情况下构建父级?
谢谢!
答案 0 :(得分:1)
配置看起来很奇怪,主要是因为你的'_proj_test'是'_main'的孩子,位于同一级别。
如何在不构建模块依赖项的情况下构建父级?
尝试 mvn -N安装。
至于项目结构,我会这样做:
1)带有'_main'pom.xml的$ basedir应该包含这个
<modules>
<module>_proj_test</module>
</modules>
2)$ basedir / _proj_test和'_proj_test'pom.xml应该包含这个
<modules>
<module>system-ping</module>
</modules>
3)$ basedir / _proj_test / system-ping与'system-ping'pom.xml(正确 groupId 的父 - com.company.system 而不是 com.company )