J'ai un programme qui fonctionne comme une application de démarrage de printemps dans Eclipse. Le programme fonctionnait bien. Puis j'ai fait ce qui suit:
Faites un clic droit sur projet -> Run As -> Maven Test.
C'était accidentel. Lorsque j’ai ensuite essayé d’exécuter à nouveau le programme en tant qu’application de démarrage printanier, l’erreur suivante a été renvoyée.
Error: Could not find or load main class com.bt.collab.ALU.api.webapp.Application
Comment puis-je diriger l'application vers ma classe principale? Merci
La classe principale est configurable dans pom.xml
<properties>
<start-class>com.bt.collab.ALU.api.webapp.Application</start-class>
</properties>
J'ai eu le même problème. Essaye ça :
Clic droit sur le projet -> Maven -> Mettre à jour le projet
Ensuite, relancez le projet. J'espère que cela fonctionne pour vous aussi.
Consultez la rubrique "Exécuter -> Exécuter les configurations ..." dans Eclipse. Vous devez supprimer le nouveau que vous avez créé par erreur, vous devriez toujours avoir le existant.
Je soupçonne qu’il a créé une nouvelle configuration d’exécution pour le «Test en tant que Maven» et que vous commencez toujours celui-ci.
Si vous utilisez Spring Boot et que les suggestions ci-dessus ne fonctionnent pas, consultez la vue Problèmes Eclipse (disponible dans Fenêtre -> Afficher la vue -> Problèmes).
Par exemple, vous pouvez obtenir la même erreur (Erreur: impossible de trouver ou de charger la classe principale groupId . Application) si l’un de vos fichiers jar est corrompu. Eclipse se plaindra de ne pas pouvoir trouver la classe Applications, même si le mauvais fichier est la cause première.
La vue Problèmes, cependant, identifiera le mauvais récipient pour vous.
Dans tous les cas, je devais aller manuellement à mon dépôt MVN local (en .m2) et supprimer manuellement le fichier jar corrompu, puis le mettre à jour (clic droit sur le projet dans l'explorateur de packages), Maven -> Mettre à jour le projet ... -> OK (en supposant que le projet correct est coché).
Cela m'est arrivé après la mise à jour du pom (ajout de quelques dépendances).
L'étape suivante m'a aidé à éviter cette erreur
right click on the project > maven > update project
Utilisez spring-boot: exécutez commande pour lancer l’application Spring Boot:
Condition: 1. Ajouter la propriété suivante à pom.xml
<property>
<start-class>com.package.name.YourApplicationMainClass</start-class>
</property>
2. Construisez votre projet
Configurez ensuite la commande maven avec spring-boot: run.
Clic droit projet | Run As | Exécuter la configuration ... | Ajouter une nouvelle configuration Maven avec la commande spring-boot: run
Si quelqu'un utilise Gradle pour la construction, le problème sera résolu en ajoutant les lignes suivantes dans build.gradle file
apply plugin: 'application'
mainClassName = "com.example.demo.DemoApplication"
J'ai utilisé la version spring 1.5.3.LELEASE et des dépendances de pom comme
<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>
Et ma classe principale était
@SpringBootApplication
public class SpringAppStarter {
public static void main(String[] args) {
SpringApplication.run(SpringAppStarter.class, args);
}
}
Mais toujours pendant l'exécution de la classe principale, j'obtenais:
Impossible de trouver ou de charger la classe principale ... avec le nom de ma classe.
Je pouvais voir que la classe était disponible dans le chemin de classe et que j'utilisais STS IDE.
Je ne recevais pas la raison du problème alors j'ai essayé la construction manuelle par le biais de Maven avec
mvn clean install
Encore le problème était là alors je réalise que mon projet a deux bibliothèques
Ce que j'ai fait:
J'ai créé un autre dossier mavenRepo, je le reconstruis à nouveau et actualise mon projet. Après cela, cela a fonctionné et j'ai vu que Maven Library avait été supprimé du chemin de classe du projet.
Les problèmes étaient liés à l'exécution de plusieurs versions lors de l'exécution, de sorte qu'il n'a pas été en mesure de trouver la classe appropriée pour exécuter mon application. L’autre solution répertoriée dans cette page résout également le problème, mais si vous faites une erreur dans
J'espère que cela pourra résoudre le problème si quelqu'un a ce problème
la suppression des anciens fichiers jar de .m2 et la mise à jour du projet Maven doivent constituer l’étape principale . Dans la plupart des cas, le problème est résolu.La raison de ce problème est en grande partie la corruption de vieux jar
Projet: Spring Boot Outil: STS
Résoudre les étapes:
A rencontré le même problème et a pu résoudre le problème en procédant comme suit:
Je sais que c'est assez tardive réponse. Mais cela pourrait encore aider de nouveaux apprenants. L'exemple suivant concerne uniquement Springboot avec NETBEANS . Je devais suivre les étapes suivantes:
Étape 1 . Suivez la réponse de @Mariuszs.
Étape 2. Cliquez avec le bouton droit de la souris sur le projet -> Propriétés -> EXÉCUTER . Assurez-vous que le champ Classe principale est doté de la classe de démarrage correcte. Autre Cliquez sur parcourir et sélectionnez parmi les classes disponibles.
Étape 3 . Cliquez sur OK-> OK. Thant est tout. Je vous remercie.
Dans mon cas, les éléments suivants ont aidé:
Ajout de la section suivante dans pom
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
A couru en utilisant maven3 et ça a marché
Si vous rencontrez le
erreur: impossible de trouver ou de charger la classe principale dans le projet maven
fais cela a fonctionné pour moi:
Raison de l'erreur: La cause de cette erreur est que le fichier jar ou la dépendance permettant d'exécuter un projet maven n'est pas installé correctement.
Solution pour l'erreur: Allez dans le dossier du projet (par exemple: D:\office\OIA-service-app
)
dans la barre d'adresse de la commande de type d'ordinateur cmd
et appuyez sur Entrée.
Dans la commande Invite, tapez la commande mvn clean install
et assurez-vous que vous disposez de la connexion Internet.
Je suis nouveau dans les bottes de printemps et j'utilise STS avec Maven Build. J'ai fait toutes les choses mentionnées ci-dessus mais je ne travaillerai pas. J'ai remarqué deux problèmes dans la fenêtre de problèmes de STS. Il y avait un fichier JAR manquant sur le chemin (C:\Users\NomUtilisateur.m2\repository\com\jayway\jsonpath\json-path\2.2.0). J'ai suivi, le chemin n'est pas fortement suggéré mais a fonctionné pour moi.
1) J'ai supprimé le dossier .m2 de l'emplacement du chemin
2) STS redémarré
3) Faites un clic droit sur le dossier du projet -> maven -> mettre à jour le projet -> coché "Forcer la mise à jour des instantanés/des versions" -> Cliquez sur OK.
Maven a mis à jour ses dépendances et le problème est résolu.
Je faisais face au même problème. J'ai supprimé le dossier cible et lance maven install, cela a fonctionné.
J'ai aussi eu cette erreur, je n'avais aucun indice. Je pouvais voir la classe et les bocaux dans le dossier Target. Par la suite, j'ai installé Maven 3.5 et transféré mon dépôt local du lecteur C vers un autre lecteur via conf/settings.xml de Maven. Cela a parfaitement fonctionné par la suite. Je pense que le fait d'avoir un repo local dans le lecteur C était le problème principal. Même si repo avait un accès complet.
J'avais le même problème, supprimez simplement le dossier .m2 du répertoire local J'espère que cela fonctionnera.
Si votre projet type d'emballage était en guerre, vous ne pourriez pas commencer. J'utilisais le plugin maven Assembly avec cette configuration;
<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>
et mon emballage était de type guerre, je ne peux pas trouver d’exception de classe principale, car j’ai changé d’emballage pour un bocal qui fonctionnait;
<groupId>com.ttect</groupId>
<artifactId>VideoUploadListener</artifactId>
<version>1.0.0</version>
<packaging>**jar**</packaging>