wake-up-neo.com

Die Hauptklasse bootRepackage konnte nicht gefunden werden

Ich habe ein Problem mit meinem Gradle Build. Ich verwende den von der Spring-Website vorgeschlagenen Standard ( https://spring.io/guides/gs/rest-service/ ), aber wenn ich versuche, Gradle Build zu verwenden, erhalte ich diesen Fehler:

My gradle problem

Für dieses Schuljahr funktioniert es nicht, aber wenn ich ein anderes benutze (das ich in der Schule genommen habe), funktioniert es perfekt.

31
mfrachet

Es gibt zwei Möglichkeiten

  1. Ihr Quellverzeichnis befindet sich nicht am richtigen Ort (verwenden Sie die Anweisung sourceSets, um dies zu beheben. Ihr Quellverzeichnis sollte ungefähr so ​​aussehen wie src/main/Java/your/package)
  2. Fügen Sie dies hinzu, um anzugeben, wo sich Ihre Hauptklasse befindet

    springBoot { mainClass = "hello.FileUploader" }

Ich bin mir ziemlich sicher, dass es 1 ist.

32
Pradeep

Ich habe auch dieses Problem, hier habe ich das Problem gelöst:

verwenden org.springframework.boot:spring-boot-starter Anstatt von org.springframework.boot:spring-boot-starter-web, wenn Ihr Projekt nur ein Modul ist, das in einem anderen Projekt verwendet wird.

Oder Setze die Hauptklasse in gradle:

mainClassName = 'your.package.MainClass'

Oder deaktivieren Sie einfach das bootRepackage

bootRepackage {
    enabled = false
}
23
Bruce

Es gibt keine Hauptmethode in Ihrem Projekt (ansonsten würde das Plugin eine finden). Eine Hauptmethode hat eine sehr spezifische Signatur. Überprüfen Sie daher, ob Sie public static void main(String[] args) haben.

7
Dave Syer

Wenn die Hauptklasse im aktuellen Projekt, zu dem die build.gradle-Datei gehört, nicht definiert ist, Sie sie jedoch aus einem bestimmten Grund starten möchten, z. B. aus einem Sprint-Integrationstest. Mach es so:

Hinzufügen

bootRepackage {
    mainClass = 'your.app.package.Application'
}

in build.gradle (nach der Zeile plugin anwenden: 'spring-boot', da das Plugin geladen werden muss) das Problem beheben.

6
Richard

Ich weiß, dass dies ein sehr alter Beitrag ist. Aber ich bin auf dieses Problem gestoßen, als ich versucht habe, meine erste Spring-Boot-Anwendung zu erstellen ( https://spring.io/guides/gs/spring-boot/#scratch ). Die im Tutorial erwähnte Position der Datei pom.xml ist also falsch. Sie müssen es außerhalb Ihres src-Ordners platzieren. Hier ist also die endgültige Verzeichnisstruktur - /workspace/src/main/Java/hello/HelloController.Java /workspace/src/main/Java/hello/Application.Java /workspace/pom.xml

2
Pramit Sinha

Das ist mir auch passiert.

Ich war verwirrt von der Position von build.gradle file: Ich dachte, es sollte sich in src/main/Java/hello befinden, da es direkt nach der Anweisung zum Erstellen dieser Unterverzeichnisstruktur erwähnt wird.

Es sollte in dem Stammordner abgelegt werden, der src Ordner enthält . Einmal tat ich das und rief "gradle build "aus dem Stammordner und nicht" ./gradlew build "Wie der Leitfaden anweist, war die Erstellung erfolgreich.

Ich habe die Standardinstallation für gradle nicht durchgeführt, sondern nur die Binärdateien heruntergeladen. Vielleicht ist dies der Grund, warum "./gradlew build "ist für mich gescheitert.

1
Gidi

Ich habe es gelöst, indem ich die Kodierung angegeben habe. Wahrscheinlich, weil ich den Code in einer IDE geschrieben habe.

Java -Dfile.encoding=UTF-8 -jar build <filename>.jar
1
surga