微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 没有版本的maven依赖关系

最近我一直在开发一些前期开发的项目的一些改进,这就是我发现的. pom文件中的许多依赖关系没有指定版本,但它们已被解析.该项目由1个根模块和2个子模块组成.使用聚合器模式,意味着没有依赖管理部分.上层项目简单地聚合了2个模块,这就是它所做的一切.子项目不涉及父母.他们有不同的父母.我不能理解的是,子项目本身和它们的父项(实际上它没有dependencyManagement也不是)指定一些依赖关系的版本.例如:
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>javax.mail-api</artifactId>
</dependency>
<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
</dependency>
<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>imap</artifactId>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
</dependency>

有人可以帮我弄清楚吗?似乎maven处理版本控制与一些认策略.

解决方法

好的,我想我会自己回答.当然,我看了依赖:树,但是我提到的所有依赖关系,树的第一级成员.我立即没有注意到,dependencyManagement不存在于父项中,但是它存在于子模块中,它包含的更有趣的是:
<dependency>
            <groupId>io.spring.platform</groupId>
            <artifactId>platform-bom</artifactId>
            <version>1.0.2.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

我以前从来没有使用过Spring IO Platform,所以这对我来说是一个全新的概念.事实证明,该平台包含了很多预配置的依赖项:
http://docs.spring.io/platform/docs/current/reference/htmlsingle/#appendix-dependency-versions

原文地址:https://www.jb51.cc/java/122951.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐