我有一个包含两个模块的项目。父POM如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>bc</artifactId>
<packaging>pom</packaging>
<version>1.3-SNAPSHOT</version>
<modules>
<module>njoy</module>
<module>api</module>
</modules>
</project>
njoy模块POM看起来像这样:
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>bc</artifactId>
<groupId>org.example</groupId>
<version>1.3-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>njoy</artifactId>
<packaging>jar</packaging>
</project>
api模块POM看起来像这样:
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>bc</artifactId>
<groupId>org.example</groupId>
<version>1.3-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>api</artifactId>
<packaging>jar</packaging>
</project>
我已经完成了对父POM的mvn全新安装,以便它进入我的本地m2存储库。现在,我想通过将其提供为依赖项,将该项目作为另一个项目(例如实验)的依赖项。这些是在我的M2存储库中创建的文件夹。
这是我将其用作依赖项的另一个项目,它的POM看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>experiments</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.example</groupId>
<artifactId>bc</artifactId>
<version>1.3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.example</groupId>
<artifactId>klk</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
但是它无法找到多模块项目工件,其中存在另一个依赖项,即单个模块项目(klk),没有问题。
请帮助。我在这里想念什么?
提前感谢!
bc
只是带有某些模块的pom。它不能用作依赖项。您可能认为您可以通过引用父POM来引用“所有工件”。这是不可能的。工件njoy
和api
是jars,它们可以用作另一个项目的依赖项。