web-dev-qa-db-fra.com

Exportation de l'application Spring Boot en tant que fichier JAR dans Eclipse

J'utilise Spring STS dans Eclipse pour créer un simple projet Web Spring Boot. Je peux bien l'exécuter dans Eclipse, mais lorsque j'essaie de l'exporter sous forme de fichier JAR, je reçois:

rg.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.

Mon public static void mainest situé dans Application.Java, avec l'annotation @SpringBootApplication

J'ai vérifié deux fois toutes les dépendances Maven cent fois.

Qu'est-ce que je fais mal?

6
Viggo Lundén

Très probablement, vous utilisez l'exportateur Eclipse intégré pour générer votre fichier jar, qui comprend uniquement les fichiers cible réellement produits dans ce projet. Pour avoir un jar "gros" (exécutable autonome), vous devez utiliser le plugin Spring Boot Maven ou Gradle pour "reconditionner" le jar.

Tout d’abord, assurez-vous que vous avez l’objectif repackage inclus dans votre configuration de construction , puis utilisez la cible Maven package. La méthode la plus simple consiste à exécuter mvn package à partir de la ligne de commande (vous devrez peut-être installer le package CLI Maven pour votre système d'exploitation). vous pouvez également cliquer avec le bouton droit de la souris sur le POM dans Eclipse et sur "Exécuter en tant que" pour exécuter des opérations Maven spécifiques à partir d'Eclipse.

15
chrylis

Il s’agit d’une commande simple ligne, sur l’ordinateur Windows 7/10, avec l’invite de commande dans le dossier de votre projet (dans l’espace de travail de votre projet). Je ne fais pas avec les objectifs Eclipse IDE POM maven, mais vous pouvez également utiliser l’objectif Maven. Sur la machine de fenêtre, je préfère cmd.exe pour l’exportation et l’exécution.

mvnw clean package

sur le noyau unix

./mvnw clean package

Vous devez accéder à l’espace de travail et au dossier racine du projet. Vous verrez un maven wrapper mvnw, avec lequel vous n'avez pas besoin d'installer maven, et le dossier .mvn au même niveau fournit le fichier jar nécessaire à ce projet

D:\workspace\Zuteller Workspace\zusteller>mvnw clean package

il créera zusteller-0.0.1-SNAPSHOT.jar dans le dossier target au même niveau.

D:\workspace\Zuteller Workspace\zusteller>Java -jar target\zusteller-0.0.1-SNAPSHOT.jar

Vous pouvez exécuter une application autonome (Tomcat intégré) et accéder à localhost: 8080/votre projet

1
vimal krishna