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

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

年高洁
2023-03-14
<groupId>com.dummy.bla</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
    <parent>
        <groupId>com.dummy.bla</groupId>
        <artifactId>parent</artifactId>
        <version>0.1-SNAPSHOT</version>     
    </parent>

    <groupId>com.dummy.bla.sub</groupId>
    <artifactId>kid</artifactId>

有没有一种方法可以使用${project.version}或类似的东西来避免在两个POM中都有01.-snapshot

共有1个答案

郭乐湛
2023-03-14

编辑:由于Maven 3.5.0,所以使用${revision}占位符就有了一个很好的解决方案。详见弗尔瓦贝的回答。对于以前的Maven版本,请参阅下面的原始答案。

不,没有。您总是必须指定父版本。幸运的是,它被继承为模块的版本,这在大多数情况下是理想的。而且,这个父版本声明是由Maven发布插件自动颠簸的,所以--事实上--只要您使用Maven发布插件来发布或只是颠簸版本,在两个地方都有版本就不是问题。

请注意,在某些情况下,这种行为实际上是非常好的,并且提供了您可能需要的更多灵活性。有时您想使用一些以前的父版本来继承,但这不是一个主流的情况。

 类似资料:
  • 当我使用mvn install构建工件时,我看到JAR在我的.m2文件夹中构建,但是Project.version没有替换为实际版本,即1.0-Snapshot。 > 每个工件的.m2存储库中的父pom和/或子pom是否具有指定的版本,或者是否为Project.version 我是否应该在父POM中指定Project.Version作为属性。maven文档说明Project.version可由De

  • 问题内容: 我有很多类似的项目: 在jar中编译的每个项目:project-1.1.1.1.jar,....是否可以在父文件夹中添加pom.xml,以便为所有项目定义版本1时间? 问题答案: 如果省略,则从父级继承。但是,该元素必须包含一个用于父元素的元素,因此该版本必须出现在每个单个POM中,但只能出现一次。

  • 本文向大家介绍maven继承父工程统一版本号的实现,包括了maven继承父工程统一版本号的实现的使用技巧和注意事项,需要的朋友参考一下 一、建立一个maven工程 pom类型   统一管理依赖以及版本号   子工程不会使用所有的定义的依赖   子工程使用依赖时无需指定版本号 其pom.xml 二、新创建一个maven工程 在pom.xml中,继承父工程,依赖去掉版本号 三、配置tomcat插件 在

  • 我编写了一个没有父级的简单pom.xml来尝试这个方法,因此不涉及pluginManagement。我还检查了maven-model-builder中的super super pom-4.0.0.xml以确认maven-bundle-plugin不存在。此插件版本没有指定在任何地方。 maven如何确定采用哪个版本?

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

  • 我用我的真实情况来说明问题。 我使用logback 1.0.1进行日志记录,它包含SLF4J 1.6.4作为依赖项。我还为遗留日志API(Java . util . logging、log4j和commons-logging)使用SLF4J API桥,它们不是显式的依赖关系。这些也必须(最好)是版本1.6.4。 为了使我的pom.xml尽可能整洁和无错误,我想强制这些API桥接器与SLF4J版本相