Maison > Java > javaDidacticiel > le corps du texte

Comment utiliser le package maven pour spécifier mainClass dans Springboot

WBOY
Libérer: 2023-05-23 19:55:11
avant
1953 Les gens l'ont consulté

Utilisez l'emballage maven pour spécifier mainClass

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.xxx.XxxApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
Copier après la connexion

Erreurs et raisons de l'emballage SpringBoot Maven

1.org.springframework.boot:spring-boot-maven-plugin:2.2.1.RELEASE:repackage failed: Impossible de trouver la classe principale

2 .Impossible de trouver la classe principale La raison du problème

Si vous utilisez le plug-in d'emballage SpringBoot comme suit

<build>
    <plugins>
         <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
     </plugins>
</build>
Copier après la connexion

    Si vous utilisez ce plug-in d'emballage, alors nous devons avoir une classe annotée avec @SpringBootApplication, sinon, il sera empaqueté. Parfois, il signalera l'échec du reconditionnement : impossible de trouver la classe principale.
  • Si l'empaquetage de notre projet n'est qu'une boîte à outils ordinaire, alors il n'est pas nécessaire d'ajouter des plug-ins d'empaquetage. Maven utilise la méthode par défaut pour l'empaqueter pour nous sans configuration (vous pouvez vérifier en ligne pour en savoir plus sur Maven par défaut. configuration de la méthode, il en existe de nombreuses en ligne).
  • Si notre projet est construit de manière à construire plusieurs niveaux (multi-modules), il s'agit simplement d'un module ordinaire lors de l'empaquetage, mais le repackage a échoué : l'erreur Impossible de trouver la classe principale est toujours signalée. nous vérifierons le parent du module si le projet a ajouté le plug-in d'empaquetage SpringBoot, car le plug-in d'empaquetage sera également hérité. Par conséquent, il est recommandé de ne pas ajouter directement le plug-in d'empaquetage SpringBoot au projet parent pour des raisons de commodité. Au lieu de cela, le module doit être empaqueté en tant que projet SpringBoot, puis le plug-in d'empaquetage SpringBoot est ajouté.
  • Concernant la méthode d'empaquetage par défaut de maven (comme indiqué ci-dessous), le package est empaqueté en mode jar, il n'est donc pas nécessaire de configurer pom.xml, à moins que nous ne le conditionnions simplement en tant que pom, nous pouvons configurer pom< ;/packaging> , sinon il n'est pas nécessaire de configurer. Bien entendu, le niveau supérieur du multi-module doit être la méthode d'emballage pom.

Comment utiliser le package maven pour spécifier mainClass dans SpringbootUn projet a plusieurs main.classes, ce qui empêche Maven de savoir laquelle utiliser comme entrée principale lors de l'emballage. Ici, nous devons définir

<build>
 <plugins>
   <plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
     <configuration>
      	<mainClass>com.demo.springboot.DemoSbApplication</mainClass>
     </configuration>
   </plugin>
 </plugins>
</build>
Copier après la connexion

La cause du problème de symbole introuvable

. Cette raison est généralement due au fait que lors de l'empaquetage, le projet empaqueté est un package jar et fait référence à d'autres modules.

Les autres modules ne sont pas emballés dans un pot Pour Springboot, configurez-le simplement

. Remarque : Cela peut entraîner un problème Impossible de trouver la classe principale.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal