1

我正在使用 Spring IO 1.0.1 BOM 来管理我的项目的依赖项。我已经将它导入到我的超级 pom 的依赖项管理部分,如下所示 -

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.spring.platform</groupId>
            <artifactId>platform-bom</artifactId>
            <version>1.0.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
...

现在,在我项目的子模块 POM 中,我已经声明了这些依赖项

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
    </dependency>

我的最终打包战争包括hibernate-jpa-2.0和hibernate-jpa-2.1。由于实体管理器依赖2.1,而api是2.0。这些在我部署的应用程序中造成了冲突。

我在平台 bom 中找不到 2.1 的声明,所以我对如何进行感到困惑。文档将这两者都列为平台提供的库,但 BOM 没有提供它们冲突版本之间的任何解决方案。推荐的方法是什么?我是否应该手动排除 2.0 并显式声明 2.1,即使它不在父 BOM 中?我是否应该强制 hibernate-entitymanager 使用 2.0 API?

我希望 IO 平台 BOM 可以帮助我解决这些类型的冲突。

4

0 回答 0