Java 如何让我的子项目继承多模块Maven项目中超级项目的依赖版本?

Java 如何让我的子项目继承多模块Maven项目中超级项目的依赖版本?,java,maven-2,Java,Maven 2,我有一个多模块Maven项目,我希望子项目继承我在父项目中指定的第三方依赖项的版本。这就是我不需要到处复制版本号的原因。但它不起作用,当我在孩子们身上漏掉版本号时,我得到了错误: dependencies.dependency.version is missing 我需要更改什么才能使其正常工作?您有任何战争依赖项吗 有一个开放的jira可能与您面临的问题有关: 为此,我要做的是定义需要在父项目中作为属性重复的依赖项版本。因此: <properties> ... <g

我有一个多模块Maven项目,我希望子项目继承我在父项目中指定的第三方依赖项的版本。这就是我不需要到处复制版本号的原因。但它不起作用,当我在孩子们身上漏掉版本号时,我得到了错误:

dependencies.dependency.version is missing

我需要更改什么才能使其正常工作?

您有任何战争依赖项吗

有一个开放的jira可能与您面临的问题有关:


为此,我要做的是定义需要在父项目中作为属性重复的依赖项版本。因此:

<properties>
  ...
  <guice.version>2.0</guice.version>
</properties>

...
2
然后:

<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <version>${guice.version}</version>
</dependency>

com.google.inject
圭斯
${guice.version}
可能不是你想要的,但这意味着你只需要在一个地方更改版本。

就是为了这个目的:

dependencyManagement
:POMs使用它来帮助管理其所有子级的依赖项信息。如果
myparent
项目使用
dependencyManagement
来定义对
junit:junit:4.0
的依赖关系,那么从这个项目继承的pom可以设置它们的依赖关系,只给出
groupId=junit
artifactId=junit
,然后Maven将填写父级设置的
版本。这种方法的好处是显而易见的。可以在一个中心位置设置依赖项详细信息,该位置将传播到所有继承POM。此外,还可以通过在依赖项管理部分中指定从可传递依赖项合并的工件的版本和范围来控制它们


您应该显示pom.xml文件的相关部分不确定OP到底做了什么,但这是正确的答案:)