从 maven 3 开始,不再建议在 maven pom root artifactId 部分中包含属性变量。
系统将提示用户删除它并显示以下警告:
[警告] 'artifactId' 包含一个表达式,但应该是一个常量。
这会导致交叉构建的 scala 项目出现严重的不兼容问题,该项目应始终在其 artifactId 中包含 _${scala.binary.version}。(发布的工件的确切版本插值可以通过flatten-maven-plugin处理,没什么大不了的)
我尝试了几种可能的替代方法来克服这个问题,包括:
覆盖构建/最终名称
覆盖 build/plugins/plugin/maven-jar-plugin/configuration/finalName
覆盖 build/plugins/plugin/maven-install-plugin/configuration/artifactId。
事实证明,它们都不起作用。处理这种情况的最佳方法是什么?