我正在为自己创建一套标准的库(通用数据结构,服务和其他实用程序),我经常使用它们并最终重新定义。
由于我每次都不需要所有的东西,因此我已经设置了BOM项目和其他离散模块,因此我只能在需要它们时才提取所需的东西。
我遇到的问题是我的BOM表模块。当我运行mvn package
或mvn 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,以防万一我需要忽略的更多细节。
答案 0 :(得分:1)
只需查看BOM for Spring Framework 5.1.4.RELEASE <packaging>pom</packaging>
。
您的问题来自在根pom.xml
中声明非标准插件,例如dokka-maven-plugin
或maven-gpg-plugin
。这些插件由bom
模块继承,但在当前配置中不支持<packaging>pom</packaging>
,因此它们无法执行。标准的Maven插件可以直接使用。
要么必须将这些插件移至根pom.xml
之外,要么必须在bom
模块中将其禁用。