我正在尝试使用Maven版本插件将所有子POM升级到父版本,并在父POM中执行所有子模块的构建。Pom文件如下所示
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.build.pom</groupId>
<artifactId>basepom</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>
<module>../Common</module>
<module>
<modules>
<!-- . . . -->
</project>
<parent>
<artifactId>basepom</artifactId>
<groupId>com.build.pom</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.child.common</groupId>
<artifactId>common</artifactId>
<packaging>jar</packaging>
<name>Common</name>
<description>Common Jar</description>
现在,如果我使用Eclipse中的命令在基本POM上运行Maven构建
mvn clean install
子模块正在正确构建,但是如果我将base pom版本更新到2.0并使用版本插件命令
mvn clean -N versions:update-child-modules install
版本正在更新,但子模块尚未构建。只有基本pom得到构建。
我是否必须明确指定在某个阶段构建子模块?我错过了什么?。
您可以使用如下设置目标,而不是手动设置父级的版本:
versions:set -DnewVersion=XXX -DgenerateBackupPoms=false install
这将更新父级和所有子级的版本,并应在之后执行安装。
编辑:
要将参数和执行移动到pom,请尝试这样的东西(未测试):
<plugin>
<artifactId>maven-versions-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>set</goal>
</goals>
<configuration>
<newVersion>XXX</newVersion>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</execution>
</executions>
</plugin>
(如果版本没有改变,则应忽略设定的目标。)
所有POM都有作为它们的版本,也在dependencies标签下。它通过上传到Nexus repo。 我们最近开始做。因此,所有20个父POM现在都是和版本,因为它们都位于nexus中。所有标记现在都指向 开发人员不想指向发布版本。他们需要来自同行的edge开发版本,不管它是否不稳定。 SCM只希望指向版本,因为他必须每周执行一次,但由于指向快照版本而失败。 现在我知道了版本插件,但问题是,我应该
我正在阅读有关maven versions插件的内容:http://mojohaus.org/versions-maven-plugin/examples/advanced-dependency-versions.html 对于这个目标:“versions:use-next-releases在pom中搜索所有非快照版本,这些版本已经是一个较新的版本,并用下一个版本替换它们。”
我添加了如下插件: …一切都很顺利。 我将版本更改为2.22.2,并得到错误:。 然而,当我在IntelliJ中进行工件搜索时,它确实会找到该版本。好的,我将更改恢复到原来的版本。 现在,当我运行时,以下内容引起了我的注意: 为什么没有使用3.0.0-M5?2.12.4是从哪里来的?我在我的pom.xml中搜索了“surefire”,但是除了上面显示的之外,没有其他点击出现。 通过查看Intell
我编写了一个没有父级的简单pom.xml来尝试这个方法,因此不涉及pluginManagement。我还检查了maven-model-builder中的super super pom-4.0.0.xml以确认maven-bundle-plugin不存在。此插件版本没有指定在任何地方。 maven如何确定采用哪个版本?
我们在maven发行版和maven版本插件上有一个问题。在詹金斯,我们想做释放自动按下一个按钮。为了消除快照依赖关系,我们希望使用maven versions插件。假设我们有两个项目A(最新版本0.0.1,最新快照0.0.2-快照)和项目B,它们依赖于Projecta-0.0.2-快照,我们希望发布项目B,我们如何将项目Bs依赖项升级到最新可用的发布版本?maven versions插件目标“us
我正在阅读这些文档,仍然不知道Maven是如何决定下载哪些版本的插件的。 例如,考虑以下简单场景: 一个空的本地存储库 默认settings.xml 运行一个简单的maven命令。例如,用于,如Maven在5分钟文档中所述。 运行命令后,Maven做的第一件事就是下载一堆插件。 Maven正在下载的一些插件包括: maven-clean-plugin-2.4.1 maven-install-plu