Spring Boot maven spring-could-starter-parent Brixton.RELEASE改变了hibernate-core依赖

时间:2016-05-19 15:11:41

标签: java maven spring-boot

我有一个依赖于hibernate-core 3.6.4.Final的项目,我们称之为“MyDatabaseProject”。

我有第二个项目,它是一个spring-cloud项目,它取决于MyDatabaseProject。

spring cloud项目使用spring-cloud-starter-parent Brixton.RELEASE作为它的父pom。

当我检查依赖项(使用“mvn dependency:list”)时,我看到我现在依赖于hibernate-core:4.3.11.Final,而不是3.6.4.Final。

如果我将spring-cloud-starter-parent版本切换回Angel.SR6,并检查依赖项(使用“mvn dependency:list”),我发现我对hibernate-core有依赖性:3.6.4就像我期望的那样。。

在我看来,Brixton.RELEASE中的某些内容会改变,它会覆盖hibernate-core版本。

我的问题是,这是一个错误,还是Brixton.RELEASE的无意改变?

如果是故意的,那么处理这个问题的正确方法是什么?

我尝试使用hibernate-core:3.6.4.Final将springManagement部分添加到spring cloud项目pom,这确实有效,但我不知道这是否是处理问题的正确方法。顶级项目似乎不关心低级项目使用的hibernate版本。

以下是spring cloud项目和数据库项目的最小maven poms:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>example</groupId>
    <artifactId>MySpringCloudProject</artifactId>
    <version>1.0.0</version>

    <parent>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-parent</artifactId>
        <version>Brixton.RELEASE</version>
        <!-- <version>Angel.SR6</version> -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>example</groupId>
            <artifactId>MyDatabaseProject</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>

</project>

数据库项目:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>example</groupId>
    <artifactId>MyDatabaseProject</artifactId>
    <version>1.0.0</version>

    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.6.4.Final</version>
        </dependency>
    </dependencies>


</project>

0 个答案:

没有答案