如果我没有为Maven依赖项指定版本,会发生什么?

时间:2013-05-03 07:03:19

标签: maven

我在项目maven依赖项中看到了如下所示,

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
        </dependency>

在依赖项中没有定义任何版本,因此如果我不提供版本名称以及为什么如上所述,将会发生什么。

请问有人解释原因。

2 个答案:

答案 0 :(得分:8)

我认为你不能在你的项目的普通依赖部分中这样做。我知道允许这种情况的唯一情况是当你继承一个带有<dependencyManagement>部分的父项目时,它用于协调一组项目中的依赖版本。然后你可以使用“简写”定义,没有版本。但它仍然有一个版本,它继承自父项目中定义的依赖项。

pom中还有一些其他地方也可以删除版本,但这些地方与包含依赖项(如插件/ exlude等)并不直接相关。

答案 1 :(得分:0)

我在pom.xml中将以下maven依赖项与一个版本放在一起,并且工作正常。 <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions>