2016-08-17 1 views
4

Ich habe auf Spring Boot 1.4.0 aktualisiert und mein Maven-Projekt kompiliert nicht. Hier ist das Szenario:Spring Boot Upgrade auf 1.4 brach mein Multi-Modul-Projekt - wahrscheinlich aufgrund Jar-Layout-Änderung

  • Modul 1/Frühjahr Boot-
  • Modul 2/Feder-Boot mit der Abhängigkeit von Modul 1

Wenn ich Modul kompilieren 2, I-Fehler erhalten, dass die Pakete/Klassen tun nicht vorhanden (sie existieren in Modul 1). Maven hat den Klassen-Patch richtig gesetzt (Glas vom Ziel von Modul 1 ist enthalten).

Wenn ich zu Spring Boot 1.3.6 ändere, kompiliert es ohne irgendwelche Probleme.

Ich habe die Release Notes für Spring Boot 1.4 überprüft und es gibt keine Informationen über eine Aktion in diesem Bereich.

Haben Sie das gleiche Verhalten mit Spring Boot 1.4 beobachtet?

Ich habe solche Konfiguration, um Testausführung zu ermöglichen. Beide Module sind Microservices und ich habe Tests für Modul 2, die ich ausführen möchte, ohne Modul 1 als separaten Microservice zu starten.

Antwort

5

Sie verwenden das Fettglas von Modul 1 als eine Abhängigkeit für Modul 2. Sie sind also im Grunde die vollständige App aus Modul 1 in Modul 2 einbetten. Sie sollten das nicht tun.

In 1.4 wurden Klassen in BOOT-INF/classes verschoben, sodass sie nicht mehr gefunden werden. Ich denke, das ist ein netter Nebeneffekt, der Sie wissen lässt, dass Ihr Projekt-Setup kaputt ist.

Sie sollten sowohl ein normales Glas als auch ein App-Glas (wenn Sie es wirklich brauchen) für Modul 1 erzeugen. Ist Modul 1 eine App? Wenn nicht, deaktivieren Sie die spring-boot-maven-plugin dort. Wenn es ist, configure the classifier option to generate two jars.

+0

Was ist das Äquivalent in Gradle? – rajadilipkolli

+1

Hallo @ Stephane, was ist Ihr Rat, wenn das Modul 2 Integrationstests in Gurke für App in Modul 1 ist. Wie würden Sie Modul 1 in Modul 2 für Gurke? –

3

Ändern Sie Ihr Layout in MODULE, ZIP-Layout scheint in 1.4.x ändern. Zip Layout wird alle Ihre Projektklassen unter BOOT-INF/classe/** setzen, Modul wird Ihre Klasse auf root setzen.

Verwandte Themen