2016-10-30 6 views
1

Ich habe ein Multimodul-Projekt mit Spring Boot 1.3.8. Momentan möchte ich auf 1.4.1 updaten, aber es ist momentan schmerzhaft wegen einiger anderer wichtiger Upgrades wie querydsl, thymeleaf, hibernate.Spring Boot Overwrite Drittanbieter-Abhängigkeit Version

So fand ich Informationen Sie könnten Hibernate 5 mit Spring Boot 1.3.8 verwenden und Sie müssen nur die Versionsnummer von Ruhezustand in den Eigenschaften zu überschreiben. (Beispiel: enter link description here)

habe ich in der übergeordneten Pom:

<properties> 
    <hibernate.version>5.0.11.Final</hibernate.version> 
    ... 
</properties> 

Es ist die gleiche pom wo Frühjahr Boot Abhängigkeiten unter Abhängigkeitsmanagement deklariert sind:

<dependencyManagement> 
     <dependencies> 

      <!-- SPRING-BOOT ... --> 
      <dependency> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-dependencies</artifactId> 
       <type>pom</type> 
       <version>${org.springframework.boot-version}</version> 
       <scope>import</scope> 
      </dependency> 

      .... 

In meinem Submodul ich noch haben enter image description here

Ich habe auch versucht, <hibernate.version>5.0.11.Final</hibernate.version> in die Untermodule p hinzuzufügen om. Keine Änderung auch.

Was fehlt mir?

+0

Ich denke, es hat mit "Import Feder-boot-Abhängigkeiten pom" VS erklärt Feder-boot-Starter-Eltern als Eltern (wo Ihre Eigenschaften zu tun würde die Eltern übersteuern) – alexbt

+0

Haben Sie Spring-Boot-Starter-Eltern? – alexbt

+0

Hey Alex, danke für die Antwort, arbeite gerade daran. Hinzufügen von Spring-Boot-Starter-Eltern in Eltern Pom als Eltern hat Wirkung :-) Ich probiere gerade aus, ich brauche sie beide oder nur eine von ihnen –

Antwort

2

Die Eigenschaft überschreiben würde nur funktionieren, wenn Spring-Boot als übergeordnetes Element deklariert wird.

Verwenden Sie den folgenden (aus Spring-Boot documentation genommen):

<?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> 

    <!-- Inherit defaults from Spring Boot --> 
    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.3.8.RELEASE</version> 
    </parent> 

    <groupId>com.example</groupId> 
    <artifactId>myproject</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <properties> 
     <hibernate.version>5.0.11.Final</hibernate.version> 
    </properties> 

    <!-- Add typical dependencies for a web application --> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
    </dependencies> 

    <!-- Package as an executable jar --> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
+0

Hey Alex, funktioniert für mich, danke :-) –

+0

Hey Alex, ich weiß nur, warum ich nicht Eltern-Tag für Spring-Boot verwendet, weil mein Projekt mehrere Module bis zu 2 Ebenen verschachtelt hat. Wenn Sie Spring Boot in Ihrer Lösung verwenden, werden Sie Probleme auf der zweiten Ebene. Ihre Lösung ist gültig, aber nicht für Projekte, die mehr als 1 Ebene verschachtelt sind. –

+0

Hey Alex, deine Lösung scheint auch für verschachtelt zu funktionieren. –