当前位置: 首页 > 知识库问答 >
问题:

Variable作为版本号的Maven模块

戚俊健
2023-03-14
...
    <version>${revision}</version>
...
    <properties>
        <revision>1.1</revision>
    </properties>
...
    <modules>
        <module>moduleB</module>
        <module>moduleC</module>
    </modules>
</project>

模块C是我的发行版包,它使用shade插件将所有内容打包到一个单独的JAR中。

在子模块中,我这样设置父模块:

<parent>
    <groupId>group</groupId>
    <artifactId>moduleA</artifactId>
    <version>${revision}</version>
</parent>

现在我想在另一个项目中使用模块C,但是我在这样做时只得到以下错误:

共有1个答案

孟光耀
2023-03-14

Maven希望所有模块都有一个硬版本。

为了避免编辑大量POM,请使用versions插件,例如:

mvn versions:set -DnewVersion=1.0.1

如果您在父级上运行上述命令,它将修复所有子POM。

 类似资料:
  • 我有一个具有以下结构的maven项目 即Project有它的pom.xml(作为pom的包)并有模块。每个模块都有一个节中,可以将其设置为“project”的工件(在根pom.xml中定义),也可以将其设置为任何其他project2/project3/projectn工件。 现在,由于这个原因,我看看如果Project1的根pom.xml设置为0.0.1-snapshot,并且如果我想创建一个版本

  • 我有一个大的多模块maven项目(几十个模块,4个嵌套级别)。 每个模块都有自己的语义版本(可以是或不是)。 我想找到一种方法,用一个命令或脚本自动增加每个模块的主要版本,以避免每个模块中的更改。 所以我举个例子 在颠簸之后我想要 我知道Maven Release Plugin和Maven Plugin版本,但我不知道如何让它们自动与主版本碰撞。 你能帮我解决这个问题吗?

  • +++ get:/ <<< success { "code":1, "msg":"恭喜您,API访问成功!", "data":{ "version":"1.0.0", "doc":"http://www.kancloud.cn/thinkcmf/cmf5api" } } +++

  • 问题内容: 指定多模块Maven项目的版本的最佳实践是什么? 我希望所有模块都有一个版本字符串。即使我在根父pom中只能有一个版本定义,我也需要在每个pom中指定父pom版本。这意味着,如果需要更改版本,则需要更改所有pom。几乎达不到目的。有任何想法吗?? 问题答案: 您是否尝试过versions-maven插件? 这样您就可以在所有基础maven项目中设置给定的版本。 之后,您必须执行删除临时

  • Maven是3.1.0。 2.2失败的原因是什么?如何解决这个问题?