Spring IO平台Bill-Of-Materials自定义版本

时间:2015-01-08 13:12:01

标签: spring maven-3 spring-io

为了简化依赖关系和pom.xml文件,我更新了一个Spring MVC应用程序以使用Spring IO平台Bill-Of-Materials。

但是我有两个问题:

  1. 覆盖BOM中定义的特定版本的depdencency :Spring IO平台将jetty版本设置为8.x但是我们依赖于jetty 9.x.根据文档,覆盖特定依赖项应该像添加具有相同名称的属性到pom.xml文件(即<jetty.version>9.x</jetty.version>)一样简单。但是这不起作用。我必须使用正确的版本将依赖关系显式添加到pom.xml文件的dependencyManamgenent部分。
  2. 使用应用程序pom.xml内部BOM的属性:AFAIK Spring IO平台BOM使用属性(即com.fasterxml.jackson)指定依赖项版本。但是,我们希望使用未在BOM中定义的com.fasterxml.jackson.dataformat.smile。所以我们在应用程序的pom.xml(dependencieddependencyManagement)中添加了特定的依赖项。是否可以在pom.xml中重用jackson版本属性?目前我们必须添加相应版本的属性(即<com.fasterxml.jackson.dataformat.smile>),当我们更新spring io平台版本时,我们必须确保也更新此属性。

1 个答案:

答案 0 :(得分:2)

你已经达到了Maven的限制。只有当你的pom通过其父节点直接或间接地继承bom时,才能重用bom中的属性。

也许您可以使用Platform bom作为当前正在定义公共依赖项的pom的父级。