Spring Boot und Maven Exec Plugin Problem

8

Ich habe ein leeres Maven-Projekt erstellt, komplett leer bis auf pom.xml .

Mit diesem Pom (beachten Sie, dass parent -Element auskommentiert ist):

%Vor%

Beispielablauf:

%Vor%

Dies wird erwartet (in diesem Projekt gibt es keine Klasse test ).

Mit diesem Pom (d. h., nur die parent nicht kommentieren):

%Vor%

Beispielablauf:

%Vor%

Dasselbe passiert mit dem exec-maven-plugin: 1.3.2:

%Vor%

Zusätzliche Informationen:

%Vor%

Fragen:

  • Warum funktioniert das nicht / wie wird es repariert?
  • Warum tritt dieser Fehler auf, wenn parent hinzugefügt wird? Wie ist exec-maven-plugin davon beeinflusst?

(Als Randnotiz liebe ich die Tatsache, dass Windows 7 zu faimly gehört: "dos", ich warte auf die Familie: "cp / m" soll für Windows 8.1 implementiert werden)

    
steady rain 05.12.2014, 19:16
quelle

1 Antwort

17

Weil Spring-Boot Ihrem Projekt eine zusätzliche Maven-Konfiguration hinzufügt. Wenn Sie Eclipse verwenden, gibt es einen Tab namens: 'Effective POM'.

Auf dieser Registerkarte können Sie sehen, dass das folgende Snippet hinzugefügt wird:

%Vor%

Wenn Sie es also mit Spring-Boot als übergeordnetes Element ausführen, sucht es nach dem Wert von ${start-class} . Dieser Wert wird in leer gelassen, es sei denn, Sie haben den Wert für mainClass nicht angegeben. Parameter.

Fügen Sie dies Ihrem Projekt hinzu:

%Vor%

Dann führe es aus: clean compile exec:java

%Vor%

Sie können auch den Wert für die Eigenschaft start-class in der Befehlszeile angeben, dies funktioniert auch dann, wenn Sie ihn nicht in Ihrer POM-Datei definiert haben:

mvn exec:java -Dstart-class=com.Test

    
Mike R 05.12.2014, 21:28
quelle

Tags und Links