Gibt es einen speziell empfohlenen Ansatz für die Einbeziehung des übergeordneten Spring-Boot-POM in Projekte, für die bereits ein übergeordnetes POM erforderlich ist?
Was empfehlen Sie für Projekte, die von einem übergeordneten Unternehmen ausgehen müssen (dies ist äußerst häufig und sogar etwas, das viele / die meisten Projekte in Maven Central veröffentlicht haben, abhängig von den Feeder-Repos, aus denen sie stammen). Der größte Teil des Build-Materials bezieht sich auf das Erstellen ausführbarer JARs (z. B. das Ausführen von eingebettetem Tomcat / Jetty). Es gibt Möglichkeiten, Dinge so zu strukturieren, dass Sie alle Abhängigkeiten abrufen können, ohne sie von einem übergeordneten Element zu erweitern (ähnlich wie Komposition vs. Vererbung). Auf diese Weise kann man allerdings kein Build-Zeug bekommen.
Daher ist es vorzuziehen, den gesamten übergeordneten Spring-Boot-POM in den erforderlichen übergeordneten POM aufzunehmen oder einfach eine POM-Abhängigkeit in der Projekt-POM-Datei zu haben.
Andere Optionen?
TIA,
Scott
quelle
project-parent
ich könnte hinzufügen ,spring-boot-starter-parent
um dieseproject-parent
- ist es ok? Benötige ich auchspring-boot-dependencies
in einer solchen Situation? 2: Normales Spring-Boot-Projekt, das ich mit Spring-Boot: Run ausführe. Wie führe ich ein Projekt mit einem anderen übergeordneten POM aus?spring-boot:run
) möchten , müssen Sie diese separat konfigurieren. Sie können das Einfügen vom übergeordneten Boot kopieren, wenn Sie möchten.Update 2018-01-04 mit 1.5.9.RELEASE.
Ich habe vollständigen Code und ein ausführbares Beispiel hier https://www.surasint.com/spring-boot-with-no-parent-example/
Sie benötigen dies als Grundvoraussetzung
Dies reicht jedoch nicht aus. Sie müssen auch das Ziel für das Spring-Boot-Maven-Plugin explizit definieren (Wenn Sie Spring Boot als übergeordnetes Element verwenden, müssen Sie dies nicht explizit definieren.)
Andernfalls können Sie nicht als ausführbares JAR oder War erstellen.
Noch nicht, wenn Sie JSP verwenden, müssen Sie Folgendes haben:
Andernfalls wird folgende Fehlermeldung angezeigt:
NEIN NEIN, dies reicht immer noch nicht aus, wenn Sie Maven Profile und Resource Filter mit Spring Boot mit "@" anstelle von "$ {}" verwenden (wie in diesem Beispiel https://www.surasint.com/spring-boot-maven) -resource-filter / ). Dann müssen Sie dies explizit hinzufügen
Und das in
Siehe das Beispiel unter dem Link https://www.surasint.com/spring-boot-with-no-parent-example/ .
quelle
Gemäß der Antwort von Surasin Tancharoen möchten Sie möglicherweise auch das todsichere Maven-Plugin definieren
und möglicherweise ein Fail-Fast-Plugin enthalten
quelle