微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在发布多模块 Maven 项目时,未对所有项目执行构建

如何解决在发布多模块 Maven 项目时,未对所有项目执行构建

我在发布多模块 Maven 项目期间遇到了构建问题。我有这个结构:

parent
|-- potato
|-- lettuce
|-- raddish

我想发布土豆和生菜项目。 (他们不依赖快照萝卜。)

我使用的命令是:

mvn release:prepare -pl potato,lettuce ... (tag,versions and so on) -DpushChanges=false

历史上的每一次提交都如我所料——一次提交将马铃薯和生菜的版本从 X-SNAPSHOT 更改为 X,一次将 X 更改为 Y-SNAPSHOT。为两个项目创建了一个标签

但是,在发布期间有两个构建阶段:准备——一个在 X 版本上调用 verify,另一个在 Y-SNAPSHOT 版本上调用 verify。两个阶段都只构建了第一个项目,而不是第二个项目。 (首先在 -pl 参数中指定。)调用 release:perform 时也会发生同样的情况。仅部署第一个项目,其他所有项目均被忽略。

准备阶段生成的release.properties文件类似于这个(注意exec.pomFileName=potato/pom.xml):

project.scm.release.test\:potato.developerConnection=scm\:git\:http\://localhost\:3000/petr/release-test.git
project.scm.release.test\:lettuce.connection=scm\:git\:http\://localhost\:3000/petr/release-test.git
scm.commentPrefix=[maven-release-plugin]
project.scm.release.test\:potato.connection=scm\:git\:http\://localhost\:3000/petr/release-test.git
exec.pomFileName=potato/pom.xml
pushChanges=false
releaseStrategyId=default
project.scm.release.test\:lettuce.developerConnection=scm\:git\:http\://localhost\:3000/petr/release-test.git
scm.tag=33
project.scm.release.test\:lettuce.tag=HEAD
remoteTagging=true
scm.branchCommitComment=@{prefix} prepare branch @{releaseLabel}
projectVersionPolicyId=default
scm.url=scm\:git\:http\://localhost\:3000/petr/release-test.git
scm.tagNameFormat=@{project.artifactId}-@{project.version}
project.scm.release.test\:lettuce.url=http\://localhost\:3000/petr/release-test.git
pinExternals=false
project.scm.release.test\:potato.tag=HEAD
preparationGoals=clean verify
scm.releaseCommitComment=@{prefix} prepare release @{releaseLabel}
exec.snapshotReleasePluginAllowed=false
exec.additionalArguments=-pl=lettuce,potato
project.rel.release.test\:potato=33
project.rel.release.test\:lettuce=33
project.scm.release.test\:potato.url=http\://localhost\:3000/petr/release-test.git
scm.developmentCommitComment=@{prefix} prepare for next development iteration
scm.rollbackCommitComment=@{prefix} rollback the release of @{releaseLabel}
completedPhase=end-release

有没有办法只使用一个标签发布两个项目并提交,但同时构建土豆和生菜(但不是萝卜)?

我使用的是 Release 插件 3.0.0-M1。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?