2

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

因为我不是每次都需要所有东西,所以我设置了一个 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

但这里是相关的 git 存储库,以防我忽略了更多需要的细节。

4

1 回答 1

2

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

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

您必须将这些插件移到根目录之外,pom.xml或者必须在bom模块中禁用它们。

于 2019-01-21T22:21:16.070 回答