带有依赖项的Maven POM打包

时间:2018-06-21 15:48:06

标签: maven maven-3

我正在尝试构建一个代码库,在该代码库中,子系统可以作为maven模块进行开发,而导入的POM无需关心maven模块的内部结构。

“导入” pom

<project>
  <artifactId>application</artifactId>
  <packaging>jar</packaging>

  <dependencies>
    <dependency>
      <artifactId>submodule-1</artifactId>
    </dependency>
  </dependencies>
</project>

“导入的” pom

<project>
  <artifactId>submodule-1</artifactId>
  <packaging>pom</packaging>

  <modules>
    <module>api</module>
    <module>implementation</module>
  </modules>

  <dependencies>
    <dependency>
      <artifactId>api</artifactId>
    </dependency>
    <dependency>
      <artifactId>implementation</artifactId>
    </dependency>
  </dependencies>
</project>

这似乎确实有效,至少部分有效; mvn package期间,生成的JAR似乎在类路径上。 IntelliJ显示应用程序对submodule-1有依赖性,并在apiimplementation上具有可传递性。但是,mvn dependency:tree在构建submodule-1时说

失败
  

无法解析项目子模块-1:pom:1.0.0-SNAPSHOT的依赖项:找不到工件api:jar:1.0.0-SNAPSHOT

我正在尝试确定这是否是有效的模式,即包装pom,并打包定义的依赖关系,这些依赖关系也是POM中定义的模块。

我偶然发现了一个工作但不受支持的边缘情况,还是依赖插件以某种方式被破坏了,或者我以某种方式被破坏了? / p>

0 个答案:

没有答案