我正在运行一个多模块maven项目并且出现意外行为。我第一次见到这个......
我的父模块配置install
插件,定义其classifier
。
<plugin>
<artifactId>maven-install-plugin</artifactId>
<configuration>
<generatePom>true</generatePom>
<classifier>${env}</classifier>
</configuration>
</plugin>
<!-- ... -->
<modules>
<module>webapp-formation</module>
<module>db-formation</module>
</modules>
但是当我正在运行mvn install
时,我的模块不会生成.pom
个文件。只有我的父级与我的存储库中的.pom
文件相关联。因此,尝试在Archiva上浏览我的模块的工件(当然在运行mvn depoy
之后!)它只是失败了。我可以浏览父母而不是孩子。
所以...我需要将未记录的属性generatePom
添加到我的插件配置中以生成生成的.pom
个文件 - 实际上复制的是一个更好的词 - 我的模块。 - 我说的是未记录的属性,因为此属性仅记录install-file
目标,而不是默认运行的目标。 install
目标不期望该属性......
当然,如果我没有配置我的install
插件 - 所以不配置分类器 - 我没有问题,所有.pom
文件都是正确生成的。
对你们来说,这是正常行为吗?你看过的东西?或者我应该提交一个错误?
谢谢, 奥利弗。
答案 0 :(得分:0)
您描述为未记录的属性是完全错误的,因为属性在目标库上是特定的,这意味着给定的配置不会更改任何内容,因为generatePom
属性仅对install-file
有效目标。所以你可以删除它。
一般来说,这样的配置没有意义,因为如果你有不同的环境,你应该采用不同的方式。刚刚删除了<classifier>${env}</classifier>
的配置,并尝试通过以下方式进行部署:
mvn clean deploy