我有一个带有2个子模块的项目,其中我的主要“pom.xml”没有代码(尚未)我部署到我的本地存储库,但是部署但未部署main
当新用户尝试“mvn install”获取子模块时,它会显示找不到“com.zzzzz.main”
- 无法解析项目的依赖项无法读取com.zzzzz.main的工件描述符==无法找到工件
我的主要pom.xml是:
<groupId>com.zzzzz.main</groupId>
<artifactId>main</artifactId>
<version>1-beta</version>
<packaging>pom</packaging>
...
<modules>
<module>app1</module>
<module>app1-daq</module>
</modules>
我的子模块是:
<parent>
<groupId>com.zzzzz.main</groupId>
<artifactId>main</artifactId>
<version>1-beta</version>
</parent>
<artifactId>app1</artifactId>
<version>1</version>
<name>app1</name>
<packaging>jar</packaging>
日志
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] main ............................................... SUCCESS [ 0.001 s]
[INFO] app1 ............................................... SUCCESS [ 1.414 s]
[INFO] app1-daq ............................................ SUCCESS [ 0.288 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
$ find | grep jar
./app1/target/app1.jar
./app1-daq/target/app1-daq.jar
您需要使用<modules>标签Parent pom在父pom中指定模块
<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.test</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
<modules>
<module>child1</module>
<module>child2</module>
</modules></project>
孩子pom
<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>
<artifactId>child1</artifactId>
<parent>
<groupId>org.test</groupId>
<artifactId>parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
</project>