将Maven父pom / bom(没有java src)释放到Nexus的正确方法是什么

时间:2019-01-21 22:05:51

标签: java maven maven-bom

我正在为自己创建一套标准的库(通用数据结构,服务和其他实用程序),我经常使用它们并最终重新定义。

由于我每次都不需要所有的东西,因此我已经设置了BOM项目和其他离散模块,因此我只能在需要它们时才提取所需的东西。

我遇到的问题是我的BOM表模块。当我运行mvn packagemvn release相关命令时,我的父pom和bom pom失败。

[ERROR] error: source file or directory not found: /Users/paul.baker/projects/personal/paulbaker-common-libs/src/main/java
[ERROR] warning: classpath entry points to a non-existent location: /Users/paul.baker/projects/personal/paulbaker-common-libs/target/classes

该错误在一定程度上有意义。它告诉我无法找到这些模块的源代码,但是它们并不打算具有Java源代码。它们只应该是POM文件(已通过<packaging>pom</packaging>进行了设置)。

似乎我缺少一些配置,但似乎找不到正确的标记来设置。

项目结构为:

parent
- bom
- data-structures
- aws-data-structures
- aws-data-service

但是这里是relevant git repository,以防万一我需要忽略的更多细节。

1 个答案:

答案 0 :(得分:1)

只需查看BOM for Spring Framework 5.1.4.RELEASE <packaging>pom</packaging>

您的问题来自在根pom.xml中声明非标准插件,例如dokka-maven-pluginmaven-gpg-plugin。这些插件由bom模块继承,但在当前配置中不支持<packaging>pom</packaging>,因此它们无法执行。标准的Maven插件可以直接使用。

要么必须将这些插件移至根pom.xml之外,要么必须在bom模块中将其禁用。