Maven版本插件 - 版本:set - 不会更改src / main / resources / pom.xml中的pom.xml

时间:2014-09-03 23:20:55

标签: maven plugins resources pom.xml versions

我有Maven 3.xx并在〜/ .m2 / settings.xml(全局用户级文件)中定义了MAVEN VERSIONS插件,其中我有maven-versions-plugin和maven-enforcer-的有效..和插件配置集插件等。

(在这些子项目中引用父项目使用Maven继承和聚合)

项目结构:

pom.xml
 module1/pom.xml
 module1/src/main/resources/module1/pom.xml
 module1/src/main/resources/module1/src/somemorefileshere

 module2.pom.xml

 module3/pom.xml
 module3/src/main/resources/module3/pom.xml
 module3/src/main/resources/module3/src/somemorefileshere

在此多模块项目设置中运行以下命令时:

$ mvn versions:set -DnewVersion=0.0.1

它成功更改了父级(项目根级别pom.xml)和子项目/ modulesX级别pom.xml文件中出现的所有0.0.1-SNAPSHOT 但是它没有进行更改在以下文件中:

 module1/src/main/resources/module1/pom.xml
 module3/src/main/resources/module3/pom.xml

问题:
1)是因为这些文件位于“src / main / resources”文件夹下吗?

2)如果插件信息在〜/ .m2 / settings.xml中配置,那么我是否还需要在pom.xml中更新它(我不这么认为)。

3)我是否必须指定...部分,我们在根级项目pom.xml中指定“url”,“connection”,“developerConnection”值或者它必须放在每个子项目/ moduleX pom.xml中?我认为,根级别pom.xml应该足够了。

4)即使每个子项目/ moduleX pom.xml成功地从0.0.1-SNAPSHOT更改为0.0.1(作为我正在设置的版本),一旦版本:set完成,我得到以下输出。为什么它在成功实际替换值时为那些modulesX显示“SKIPPED”。这是否意味着,我必须在那些子项目/ moduleX的pom.xml文件中有...部分?

19:54:40 [INFO] ------------------------------------------------------------------------
19:54:40 [INFO] Reactor Summary:
19:54:40 [INFO] 
19:54:40 [INFO] main-parent ........................................ SUCCESS [  3.082 s]
19:54:40 [INFO] module1          ................................... SKIPPED
19:54:40 [INFO] module2   .......................................... SKIPPED
19:54:40 [INFO] module3   .......................................... SKIPPED

5)我是否需要在每个根级/子项目级别(moduleX)级别pom.xml中包含“maven-enforcer-plugin”配置? --OR~ / .m2 / setting.xml级别pom应该足够吗?

1 个答案:

答案 0 :(得分:1)

因为它们看起来像原型pom.xml文件(模板文件)它没有处理它们,它只是接触那些连接在maven POMdel