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

是否可以跳过子级中maven父级的版本?[副本]

夔修伟
2023-03-14

在Sonatype Maven指南中,示例多模块项目必须在父pom.xml和所有子pom.xml中定义项目的版本(以引用父版本)。

有没有一种方法可以在单个位置定义版本?它似乎是一个可怕的变化需要作出很多的版本颠簸。

共有1个答案

宗弘扬
2023-03-14

在我看来,组织多模块Maven项目的正确方法是让一个项目通过其dependencymanagement部分跟踪工件版本,该部分是所有其他项目的父部分;和一个聚合器项目,该项目包含作为modules的所有其他项目(包括父级)。

这允许您集中处理项目之间和外部库之间的依赖关系的版本。您仍然必须明确跟踪每个项目的pom版本和父项目版本之间的对应关系,以及父项目的pom版本和所有子项目版本之间的对应关系。

我同意这是一个很大的工作,而且非常容易出错:考虑用自定义插件和/或脚本将其自动化。Maven Release插件可以帮助解决这个问题。

 类似资料:
  • 我有一个父级pom a和子级pom B、C和D。在B、C和D中,我有相同类型的依赖关系。 ie母Pom

  • 我希望所有子模块都继承父版本号,但子模块要求我继续对父版本号进行硬编码(ModuleA pom.xml示例): 如何将版本号放在父pom中,并让模块继承它,而不必在多个地方更新它呢?到目前为止,我已经尝试了${project.version}和${project.parent.version},但Maven似乎对此很不满意。也不能完全删除版本引用。 有人对此有很好的答案吗?

  • 假设我想 通过克隆备份env, 然后将env的Python版本从3.7. x升级到3.10. x。 有可能吗?如果是,我应该如何进行?

  • 问题是要确定子数据的总和是否等于父数据。如果是,返回真,否则返回假。 下面是我的代码,在提交时出现错误。我知道这是一个简单的问题,但在编写了条件之后,我很难通过遍历所有左右节点来递归检查二叉树中每个节点的和条件。 请指导我,因为我哪里做错了。

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

  • 问题内容: 问题是这样的:我有一个抽象类,该抽象类在其构造函数中执行某些工作,还有一组实现抽象类的子类: 然后,需要定制具体的类,一种解决方案是扩展具体的类: 但是问题在于自定义类仅需要调用抽象类的构造函数,而无需调用具体类的构造函数。 您如何实现的?更改班级关系的建议是有效的。 编辑:具体示例是ConcreteClass1和CustomizedClass1具有不同的数据集(ConcreteDat