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:
Für dieses Schuljahr funktioniert es nicht, aber wenn ich ein anderes benutze (das ich in der Schule genommen habe), funktioniert es perfekt.
Es gibt zwei Möglichkeiten
src/main/Java/your/package
)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.
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
}
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.
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.
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
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.
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