Maven项目结构
我有一个简单的多模块Maven项目:
parent-project
child-project1
(war
)child-project2
(jar
) parent-project
的{{1}}引用了pom.xml
部分中的两个子项目。这两个子项目都引用了<modules>
部分中的父项。
<parent>
取决于child-project1
(它在child-project2
部分中引用它。)
问题
我正在尝试使用<dependencies>
上的License Maven Plugin生成一个包含所有依赖项及其许可证列表的文件:
parent-project
我收到错误:
mvn license:aggregate-add-third-party
当我评论Failed to execute goal on project child-project1: Could not resolve dependencies
for project ... child-project1 ... : Could not find artifact ... child-project2 ...
对child-project1
的依赖关系时,插件可以正常工作。所以我可以使用这个插件,但每次我都要注释掉依赖项。
有什么问题?有办法解决吗?
答案 0 :(得分:2)
您面临的问题是默认情况下maven-license-plugin
会在您的本地存储库中查找子工件。
我想,父pom.xml
中的插件配置如下所示:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.6</version>
<configuration>
<!-- your own config goes here -->
</configuration>
</plugin>
</plugins>
您必须使用
将多模块项目安装到本地Maven存储库mvn install
之后,你运行
mvn license:aggregate-add-third-party
再次,构建将成功。
如果您在插件中配置了<execution>
,则会失败,因为默认情况下maven-license-plugin
会绑定到generate-resources
阶段[1],并且始终会执行此操作install
[2]。
干杯, PK