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