我有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应该足够吗?
答案 0 :(得分:1)
因为它们看起来像原型pom.xml
文件(模板文件)它没有处理它们,它只是接触那些连接在maven POMdel