Da keine passende Hauptklasse gefunden werden kann, fügen Sie bitte eine 'mainClass'-Eigenschaft, Spring Boot, hinzu

7

Hallo Freunde Ich entwickle ein Spring Boot Maven-basierte Projekt und und ich habe eine Maven-Submodule erstellt, aber wenn ich versuche, mein Projekt auszuführen, gibt es einen Fehler

%Vor%

mein Elternteil Pom und Kind Pom ist

%Vor%

und Chile Pom ist

%Vor%

Ich habe gegoogelt aber keine Lösung gefunden bitte helfe diesbezüglich!

    
Qasim 03.09.2015, 06:24
quelle

10 Antworten

14

Ich glaube, das Problem, das ich hatte, ist ähnlich wie bei Ihnen. Ich habe eine Multi-Modul-App mit Spring Boot und nur eine Application.java (mit Hauptmethode).

Ich habe damit gekämpft, dass ich versucht habe, es mit Maven zu starten, und ich habe das gleiche Ergebnis wie Ihr erhalten (Es konnte keine passende Hauptklasse gefunden werden).

Ich habe mehrere Stunden damit verbracht, Dinge zu testen und zu ändern, und nachdem ich die Eigenschaft mainClass dem Pom hinzugefügt hatte, konnte sie es nicht finden.

Dann habe ich beschlossen, das Projekt nicht vom Stammprojekt, sondern von dem Projekt auszuführen, in dem sich die Klasse Application befindet.

Dadurch konnte ich den Spring Boot starten und alles funktioniert wie ein Zauber.

------- hinzugefügt am 2017/08/09

Wenn Sie das gesamte auszuführende Objekt mit java -jar file packen möchten, können Sie den folgenden Befehl vom Stammprojekt ausführen:

%Vor%

Vergessen Sie nicht, das Spring-Boot-Maven-Plugin zu Ihrem Pom hinzuzufügen.

    
Paulo Pedroso 08.01.2016 17:40
quelle
4

Entfernen Sie den Maven-Build-Plugin-Code aus dem Eltern-Pom, der dem Folgenden ähnelt, der folgende Snippet sollte nur im Untermodul Pom sein, wo Sie Hauptklasse für Spring-Boot-Anwendung haben:

%Vor%     
Syed Siraj Uddin 29.10.2016 20:46
quelle
2

Haben Sie eine Klasse in Ihrer App mit einer Hauptmethode wie:

%Vor%

Oder haben Sie sogar mehrere Klassen mit Hauptmethoden, in welchem ​​Fall Spring nicht herausfinden kann, welche zu verwenden?

    
Dennis Hunziker 03.09.2015 06:48
quelle
2

Vielleicht haben Sie vergessen, die zu startende Hauptklasse anzugeben.

In pom.xml:

%Vor%     
orog 22.10.2016 18:13
quelle
0

Wenn du IntellJ IDEA benutzt, kannst du es vielleicht so machen:

%Vor%

Das hat meinen Fehler gelöst.

    
gnnExplorer 06.12.2017 04:59
quelle
0

Sie können das Problem beheben, indem Sie den Speicherort von main wie folgt angeben:

%Vor%     
Rabin Pantha 11.04.2016 11:35
quelle
0
%Vor%

... gibt Ihnen den gleichen Fehler.

%Vor%

... wird das Problem beheben, indem das Artefakt vor dem Ausführen von sprint-boot:start erstellt wird.

    
Alex 28.04.2016 09:58
quelle
0

Wenn Sie versuchen, eine mvn spring-boot:run oder nur eine mvn (wie Sie JHipster zu verwenden scheinen und so verketten sie als Standardziel) im root Ihres Projekts zu verwenden, ist es normal, dass if schade, dass ich denke, dass es nur in einem einfachen Springboot-Projekt verwendet werden kann.

Da Ihr Elternprojekt mehrere Spring-Boot-Webapps zu haben scheint, nehme ich an, dass jeder seine eigene main () Startklasse hat und dass Sie nur einen Elternpom verwenden, um Ihre Poms zu faktorisieren und all Ihre Pakete zu paketieren Anwendungen einzeln über einen einzigen Befehl.

Führen Sie in diesem Fall einfach eine mvn package und keine mvn noch eine mvn spring-boot:run .

aus     
Victor Petit 05.08.2016 12:33
quelle
0

Ich habe auch das gleiche Problem gehabt, aber durch Hinzufügen der unteren Zeile in meiner pom.xml habe ich das Problem für mein Projekt gelöst:

%Vor%

wobei die Klasse AgencySearch die Hauptmethode zum Ausführen der Spring-Boot-Anwendung hat.

    
Ram 24.02.2017 22:09
quelle
-2

Die Lösung ist die pom.xml-Datei

ändern

von diesem

%Vor%

zu diesem

%Vor%

oder ein anderer Wert, den Sie abhängig von Ihrer Bereitstellungsmethode benötigen.

    
Marco Nuñez 19.04.2016 16:44
quelle

Tags und Links