【发布时间】:2014-10-28 14:08:10
【问题描述】:
我有 Maven 3.xx 并在 ~/.m2/settings.xml(全局用户级别文件)中定义了 MAVEN VERSIONS 插件,其中我为 maven-versions-plugin 和 maven-enforcer- 设置了有效的 .. 和插件配置插件等
(这些引用父项目的子项目之间使用Maven继承和聚合)
项目结构:
pom.xml 模块1/pom.xml 模块1/src/main/resources/module1/pom.xml module1/src/main/resources/module1/src/somemorefilehere 模块2.pom.xml 模块3/pom.xml 模块3/src/main/resources/module3/pom.xml module3/src/main/resources/module3/src/somemorefilehere当我在这个多模块项目设置中运行以下命令时:
$ mvn versions:set -DnewVersion=0.0.1
它成功更改了父(项目根级别 pom.xml)和子项目/modulesX 级别 pom.xml 文件中所有出现的 0.0.1-SNAPSHOT 但它没有进行更改在以下文件中:
模块1/src/main/resources/module1/pom.xml 模块3/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(作为我设置的版本),一旦版本:设置完成,我会得到以下输出。为什么它在实际成功替换值时为那些 modulesX 显示“SKIPPED”。这是否意味着,我必须在那些子项目/moduleX 的 pom.xml 文件中也有 ... 部分??
5) 我需要在每个根级别/子项目级别 (moduleX) 级别 pom.xml 中包含“maven-enforcer-plugin”配置吗? --OR ~/.m2/setting.xml 级别的 pom 就足够了吗?
【问题讨论】:
标签: maven plugins resources pom.xml versions