Ich habe ein Programm, das als Spring Boot App in Eclipse ausgeführt wird. Das Programm lief gut. Dann habe ich folgendes gemacht:
Klicken Sie mit der rechten Maustaste auf Projekt -> Ausführen als -> Maventest.
Das war zufällig. Als ich dann versuchte, das Programm erneut als Spring-Boot-App auszuführen, wurde der folgende Fehler ausgegeben.
Error: Could not find or load main class com.bt.collab.alu.api.webapp.Application
Wie zeige ich die Bewerbung zurück auf meine Hauptklasse? Vielen Dank
java
eclipse
spring-mvc
spring-boot
Christopher Jobling
quelle
quelle
com.bt.collab.alu.api.webapp.Application
ist die richtige Klasse?Antworten:
Die Hauptklasse kann in pom.xml konfiguriert werden
<properties> <start-class>com.bt.collab.alu.api.webapp.Application</start-class> </properties>
quelle
Ich hatte das gleiche Problem. Versuche dies :
Klicken Sie mit der rechten Maustaste auf das Projekt -> Maven -> Projekt aktualisieren
Führen Sie dann das Projekt erneut aus. Hoffe es funktioniert auch für dich.
quelle
main cause
hier?mvn install
und anschließendmvn clean
entfernt wird.Schauen Sie in Eclipse unter "Ausführen -> Konfigurationen ausführen ..." nach. Sie sollten die neue löschen, die Sie versehentlich erstellt haben. Sie sollten weiterhin die vorhandene haben.
Ich vermute, es wurde eine neue Laufkonfiguration für den "Run as Maven Test" erstellt, und Sie starten jetzt immer diese.
quelle
Error: could not find or load main class
. Ich habe die Konfiguration "Ausführen als" (die zufällig Maven-Abhängigkeiten hatte) gelöscht, neu erstellt (3 Tastenklicks) ... und das Problem ist verschwunden.Wenn Sie Spring Boot verwenden und die oben genannten Vorschläge nicht funktionieren, sollten Sie sich die Ansicht Eclipse-Probleme ansehen (verfügbar unter Fenster -> Ansicht anzeigen -> Probleme).
Beispielsweise können Sie denselben Fehler erhalten (Fehler: Hauptklassengruppen- ID konnte nicht gefunden oder geladen werden. Anwendung), wenn eine Ihrer JAR-Dateien beschädigt ist. Eclipse wird sich beschweren, dass die Applications-Klasse nicht gefunden werden kann, obwohl das fehlerhafte Glas die Hauptursache ist.
In der Ansicht "Probleme" wird jedoch das fehlerhafte Glas für Sie identifiziert.
Auf jeden Fall musste ich manuell zu meinem lokalen MVN-Repo (in .m2) gehen und das beschädigte JAR manuell löschen und aktualisieren (Rechtsklick auf das Projekt im Paket-Explorer), Maven -> Projekt aktualisieren ... -> OK (vorausgesetzt, das richtige Projekt ist markiert).
quelle
Dies passierte mir, nachdem ich den POM aktualisiert hatte (einige Abhängigkeiten hinzugefügt).
Der folgende Schritt hat mir geholfen, diesen Fehler zu vermeiden
quelle
Ich habe alle oben genannten Lösungen ausprobiert, aber bei mir nicht funktioniert. Endlich konnte es mit einem einfachen Fix behoben werden.
Führen Sie auf STS die Konfiguration aus> öffnen Sie Ihre Spring Boot-App> öffnen Sie Ihre Konfiguration.
Speichern Sie Ihre Konfiguration und führen Sie sie aus.
quelle
Verwenden Sie den Befehl spring-boot: run , um die Spring-Boot-Anwendung zu starten:
Voraussetzung: 1. Fügen Sie der pom.xml folgende Eigenschaft hinzu
<property> <start-class>com.package.name.YourApplicationMainClass</start-class> </property>
2. Erstellen Sie Ihr Projekt
Konfigurieren Sie dann den Befehl maven mit spring-boot: run.
Navigation:
Klicken Sie mit der rechten Maustaste auf Projekt | Ausführen als | Konfiguration ausführen ... | Fügen Sie eine neue Maven-Konfiguration mit dem Befehl spring-boot: run hinzu
quelle
Wenn jemand Gradle für den Build verwendet, werden die folgenden Zeilen in die Datei build.gradle eingefügt
apply plugin: 'application'
mainClassName = "com.example.demo.DemoApplication"
quelle
Intellij
quelle
Ich habe die Version Spring 1.5.3.RELEASE verwendet und pom-Abhängigkeiten wie angegeben
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
Und meine Hauptklasse war
@SpringBootApplication public class SpringAppStarter { public static void main(String[] args) { SpringApplication.run(SpringAppStarter.class, args); } }
Aber noch während der Ausführung der Hauptklasse bekam ich:
Ich konnte sehen, dass die Klasse im Klassenpfad verfügbar war und ich STS IDE verwendete.
Ich habe keinen Grund für das Problem bekommen, dann habe ich versucht, manuell durch Maven zu bauen
Immer noch Problem war da, dann merke ich, dass mein Projekt zwei Bibliotheken hat
Was ich getan habe:
Ich habe einen weiteren mavenRepo-Ordner erstellt und ihn erneut erstellt und mein Projekt aktualisiert. Danach hat es funktioniert und ich habe gesehen, dass die Maven Library aus dem Pfad der Projektklasse gelöscht wurde.
Während der Ausführung wurde ein Problem mit mehreren Versionen festgestellt, sodass keine geeignete Klasse für die Ausführung meiner Anwendung gefunden werden konnte. Eine andere auf dieser Seite aufgeführte Lösung behebt das Problem ebenfalls, wenn Sie jedoch einen Fehler machen
Hoffe, dies kann das Problem lösen, wenn jemand dieses Problem bekommt
quelle
Das Löschen alter Gläser aus .m2 und das Aktualisieren des Maven-Projekts sollte der Hauptschritt sein. In den meisten Fällen wird das Problem behoben. Der Grund für dieses Problem sind meistens beschädigte alte Gläser
quelle
Es ist dasselbe Problem aufgetreten und es konnte durch die folgenden Schritte behoben werden:
quelle
Fehler: Hauptklasse konnte nicht geladen oder gefunden werden
Projekt: Spring Boot Tool: STS
Schritte lösen:
quelle
Ich weiß, das ist eine ziemlich späte Antwort. Aber es könnte immer noch einigen neuen Lernenden helfen. Das folgende Beispiel gilt nur für Springboot mit NETBEANS. Ich musste folgende Schritte ausführen:
Schritt 1 . Folgen Sie der Antwort von @Mariusz.
Schritt 2. Klicken Sie mit der rechten Maustaste auf Projekt -> Eigenschaften -> AUSFÜHREN. Stellen Sie sicher , dass der Hauptklasse - Feld ist die richtige Starterklasse sonst Klicken Sie auf Durchsuchen und wählen Sie aus den verfügbaren Klassen hat.
Schritt 3 . Klicken Sie auf OK-> OK. Dann ist alles. Vielen Dank.
quelle
Ich hatte das gleiche Problem. Löschen Sie einfach den Ordner .m2 aus Ihrem lokalen Repository. Ich hoffe, es wird funktionieren.
quelle
Wenn Sie auf die gestoßen sind
Tun Sie dies, es hat bei mir funktioniert:
Grund für den Fehler: Der Grund für diesen Fehler ist, dass die JAR-Datei oder die Abhängigkeit zum Ausführen eines Maven-Projekts nicht korrekt installiert ist.
Lösung für den Fehler: Gehen Sie in den Projektordner (zB
D:\office\OIA-service-app
)in der Adressleiste des Computertyp Befehl
cmd
und drücken Sie die Eingabetaste. Stellen Sie an derEingabeaufforderung
mvn clean install
sicher, dass Sie über eine Internetverbindung verfügen.quelle
Wenn Ihr Projektverpackungstyp Krieg war, konnten Sie nicht starten. Ich habe das Maven Assembly Plugin mit dieser Konfiguration verwendet.
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.0.0</version><!--$NO-MVN-MAN-VER$ --> <configuration> <descriptors> <descriptor>assembly.xml</descriptor> </descriptors> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.ttech.VideoUploaderApplication</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- bind to the packaging phase --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
und meine Verpackung war Krieg, den ich bekam, kann keine Ausnahme der Hauptklasse finden, aber ich habe die Verpackung in ein Glas geändert, das funktioniert hat;
<groupId>com.ttect</groupId> <artifactId>VideoUploadListener</artifactId> <version>1.0.0</version> <packaging>**jar**</packaging>
quelle
Ich bin neu im Spring Boot und benutze STS mit Maven Build. Ich habe alle oben genannten Dinge getan, werde aber für mich nicht funktionieren. Ich habe zwei Probleme im Problemfenster von STS festgestellt. Im Pfad fehlte eine JAR-Datei (C: \ Users \ UserName.m2 \ repository \ com \ jayway \ jsonpath \ json-path \ 2.2.0). Ich folgte, der Weg ist nicht stark empfohlen, aber für mich gearbeitet.
1) Ich habe den Ordner .m2 aus dem Pfad gelöscht
2) STS neu gestartet
3) Klicken Sie mit der rechten Maustaste auf den Projektordner -> Maven -> Projekt aktualisieren -> aktivieren Sie "Aktualisierung von Snapshots / Releases erzwingen" -> Klicken Sie auf OK.
Maven hat seine Abhängigkeiten aktualisiert und das Problem ist gelöst.
quelle
In meinem Fall hat folgendes geholfen:
Der folgende Abschnitt in pom wurde hinzugefügt
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> </plugins>
Lief es mit maven3 und es funktionierte
quelle
Ich habe auch diesen Fehler bekommen, hatte keine Ahnung. Ich konnte die Klasse und die Gläser im Zielordner sehen. Ich habe später Maven 3.5 installiert und mein lokales Repo über die Datei conf / settings.xml von Maven vom Laufwerk C auf ein anderes Laufwerk umgestellt. Danach hat es einwandfrei funktioniert. Ich denke, ein lokales Repo im C-Laufwerk war das Hauptproblem. Obwohl Repo vollen Zugriff hatte.
quelle
Ich hatte das gleiche Problem. Ich habe den Zielordner gelöscht und maven install ausgeführt, es hat funktioniert.
quelle
Ich hatte ein ähnliches Problem, als ich meinem Projekt eine Spring-Sicherheitsabhängigkeit hinzufügte. Dann löschte ich meinen Zielordner und verwendete erneut das Maven-Update. Es hat bei mir funktioniert.
quelle
Selbst wenn ich mit dem gleichen Problem konfrontiert war, stellte ich später fest, dass es passiert ist, weil der Maven-Build-Vorgang in meiner Umgebung nicht ordnungsgemäß ausgeführt wurde. Bitte überprüfen Sie es auch in Ihrem Fall.
quelle
Ich bin auf den gleichen Fehler gestoßen, obwohl ich Gradle Build verwendet habe. Das Delegieren von IDE-Build / Run-Aktionen an Gradle hat mein Problem gelöst.
Intellij: Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Build-Tools -> Gradle -> Runner
quelle
start-class
funktioniert bei mir nicht, ich habe es durch Hinzufügenbuild plugins
zu behobenpom.xml
undexecutions
ist notwendig.quelle
Ich habe den gleichen Fehler in der "Spring Tool Suite" -Software erhalten.
In meinem Fall habe ich Java 8 installiert und ein Projekt von Java 11 erstellt. Und wenn ich das Projekt ausführe, erhalte ich den gleichen Fehler wie "Hauptklasse kann nicht gefunden werden".
Dann habe ich ein Projekt in Java 8 erstellt und das Problem behoben.
quelle
Hier gibt es gute Antworten, aber vielleicht hilft diese auch jemandem.
Für mich geschah es kurz nachdem ich .idea (mit IntelliJ) gelöscht und das Projekt erneut importiert hatte.
Dann begann dieses Problem. Ich versuchte, mvn compile auszuführen (nur über die IDE Maven-Symbolleiste). Nachdem ich einige Kompilierungsfehler behoben hatte, verschwand das Problem
quelle