关于 mavan 依赖的问题:依赖的版本是2.3还是1.0.6 ?

假如我的pom.xml如下:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>test</groupId>
            <artifactId>test</artifactId>
            <version>1.1.11</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>aa</groupId>
        <artifactId>aa</artifactId>
    </dependency>
</dependencies>

test的pom如下:

 <properties>
    <aa.version>1.0.6</aa.version>
</properties>
<dependencyManagement>
    <dependencies>
            <dependency>
            <groupId>aa</groupId>
            <artifactId>aa</artifactId>
            <version>${aa.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

如果我在我的pom文件中做修改

<dependencies>
    <dependency>
        <groupId>aa</groupId>
        <artifactId>aa</artifactId>
        <version>2.3</version>
    </dependency>
</dependencies>

那么我的项目的aa依赖的版本是2.3还是1.0.6呢?

阅读 3.6k
3 个回答

依赖这个:

<dependencies>
    <dependency>
        <groupId>aa</groupId>
        <artifactId>aa</artifactId>
        <version>2.3</version>
    </dependency>
</dependencies>

显式得指定了version,就不会去dependencyManagement里找了

新手上路,请多包涵

jar包名称相同maven依赖会取最新的版本

依赖两条原则
1.优先解析路径短的
2.如果路径长的,先声明先优先

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题