maven sortpom插件可以影响项目的构建结果吗?

时间:2013-05-01 14:17:20

标签: maven maven-3

Maven Sortpom Plugin可以影响项目构建的结果吗?

是否可能因为添加了sortpom插件而导致项目构建失败?

3 个答案:

答案 0 :(得分:1)

通常,pom.xml文件中元素的顺序无关紧要,因此重新排序元素不应影响构建。

但我知道这个规则有两个例外:

  • Maven在编译时根据pom文件中的顺序读取依赖项。重新排列该顺序可能会影响编译输出。
  • 如果两个插件在同一阶段执行,则pom-file中的顺序将决定首先执行哪个插件。如果一个插件的结果依赖于另一个插件,则对插件进行排序可能会导致编译失败。

sortpom插件默认情况下不对依赖项或插件进行排序。所以我会说sortpom插件不应该影响项目构建的结果。

答案 1 :(得分:0)

它可能无法构建:

[错误]无法执行目标com.google.code.sortpom:maven-sortpom-plugin:2.3.0:对项目数据提取程序排序(默认):scm.team.company.corp:未知主机scm。 team-project.company.corp - > [帮助1]

如果由于网络问题而找不到文件,即使使用-o

运行也是如此

答案 2 :(得分:0)

例如,您使用:

    阶段org.codehaus.mojo:build-helper-maven-plugin 中的
  1. reserve-network-port' pre-integration-test目标
  2. org.apache.tomcat.maven:tomcat7-maven-plugin' run目标也处于阶段pre-integration-test
  3. 现在,sortpom:sort命令它们,并且在maven-3中,插件的顺序很重要。因此,如果您通过portName的{​​{1}}功能为tomcat配置随机端口,系统属性将无法填充(在需要时),如排序后,构建-helper artifact被执行 AFTER 调用reserve-network-port目标。

    排序后的示例:

    run