[英]How to check for another dependency version in the maven pom.xml in a Spring Boot project?
[英]How to inherit dependency version from required BOM POM in maven spring boot project?
我是 spring 引导世界的新手,遇到了问题。 我需要在我的项目中使用 mssql,我默认将其作为spring-boot-starter-parent的依赖项,但要注意的是正在继承的版本是我不想要的。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<type>pom</type>
</dependency>
这会给我 mssql 版本 mssql-jdbc: 6.1.0.jre7 (我不想要)
我的组织为所有项目中使用的所有通用组件创建了一个专用的 BOM POM,其中包括 mssql 最新版本。 mssql-jdbc:8.4.1.jre8
我已经在dependencyManagement标签下声明了这个BOM POM。
<dependencyManagement>
<dependencies>
<dependency>
<grpId></grpId>
<artifactiID></>
<version/>
</dependency>
</dependencies>
</dependencyManagement>
现在我的 POM 只从spring 引导父级获取 mssql 版本(根据树层次结构很明显),但我想使用 BOM POM 中的版本。
我也不想在我的 pom 依赖项中硬编码 mssql 版本,比如
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>It should take from the BOM POM declared in dependency management</version>
因此,每当我的 BOM POM 中更新了新版本时,它应该直接反映在我的应用程序 POM 文件中。
我的问题可能是重复的或很容易弄清楚,但由于我是 spring 世界的新手,您的帮助肯定会有所帮助。
谢谢是提前。
不可能。
父 POM 版本比 BOM 版本更强大。
您需要在 POM 中显式添加版本,并在 BOM 更改时手动更改。
要覆盖依赖项的版本,您必须找到它在父 POM 中的定义方式。 在你的例子中,如果你查看 Spring Boot parent POM,在<properties>
部分,你应该看到如下内容:
<mssql.version>Y.XX</mssql.version> <!-- please note that I am not really sure about the property name but I am 100% that the version is defined as a property-->
然后将该属性复制粘贴到 POM 的<properties>
部分并设置所需的版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.