相关疑难解决方法(0)

Maven项目版本继承 - 我是否必须指定父版本?

我有两个项目:父项目:A,子项目:B

A/pom.xml中:

<groupId>com.dummy.bla</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
Run Code Online (Sandbox Code Playgroud)

在B/pom.xml中,我有:

    <parent>
        <groupId>com.dummy.bla</groupId>
        <artifactId>parent</artifactId>
        <version>0.1-SNAPSHOT</version>     
    </parent>

    <groupId>com.dummy.bla.sub</groupId>
    <artifactId>kid</artifactId>
Run Code Online (Sandbox Code Playgroud)

我希望B从父级继承该版本,所以我需要放置的唯一位置0.1-SNAPSHOTA/pom.xml.但是,如果删除了<version>0.1-SNAPSHOT</version>B/pom.xml下父节,Maven的抱怨缺少的版本父.

有没有办法可以使用${project.version}或类似的东西,以避免01.-SNAPSHOT在两个poms?

inheritance maven

161
推荐指数
7
解决办法
15万
查看次数

Make Maven child poms与父母有相同的版本号吗?

我有一个多模块(聚合器)Maven项目,它也从父pom继承属性.所以在我的父pom.xml中我有这个:

<groupId>com.something.project</groupId>
<artifactId>MyProject</artifactId>
<packaging>pom</packaging>
<version>1.0.123</version>

<modules>
    <module>ModuleA</module>
    <module>ModuleB</module>
    <module>ModuleC</module>
</modules>
Run Code Online (Sandbox Code Playgroud)

我想让所有子模块继承父版本号1.0.123,但是孩子pom.xml要求我继续硬编码父版本号(ModuleA pom.xml示例):

<artifactId>ModuleA</artifactId>
<name>Some Amazing Thing</name>

<parent>
    <relativePath>../</relativePath>
    <artifactId>MyProject</artifactId>
    <version>1.0.123</version>
    <groupId>com.something.project</groupId>
</parent>
Run Code Online (Sandbox Code Playgroud)

我怎样才能将版本号放在父pom中,让模块继承它而不必在多个地方更新它?到目前为止,我已经尝试了$ {project.version}和$ {project.parent.version},Maven似乎对此非常不满意.我也不能完全删除版本参考.

有没有人对此有一个好的答案?

java maven

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

maven ×2

inheritance ×1

java ×1