1

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

但是我有两个问题:

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

1 回答 1

2

您在 Maven 中遇到了限制。仅当您的 pom 通过其父级直接或间接继承 bom 时,才能重用来自 bom 的属性。

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

于 2015-01-08T16:07:40.550 回答