Comment puis-je indiquer à Spring Boot quelle classe principale utiliser pour le fichier jar exécutable?

Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.0.1.RELEASE:repackage failed: Unable to find a single main class from the following candidates 

Mon projet a plus d’une classe avec une méthode main . Comment puis-je indiquer au plug-in Spring Boot Maven quelles classes il doit utiliser comme classe principale?

    Ajoutez votre classe de départ dans votre pom:

       com.mycorp.starter.HelloWorldApplication  

    Pour ceux qui utilisent Gradle (au lieu de Maven):

     springBoot { mainClass = "com.example.Main" } 

    Si vous n’utilisez PAS le pom spring-boot-starter-parent, alors à partir de la documentation Spring :

      org.springframework.boot spring-boot-maven-plugin 1.1.3.RELEASE  my.package.MyStartClass ZIP     repackage     

    Si vous utilisez spring-boot-starter-parent dans votre pom, vous ajoutez simplement ce qui suit à votre pom:

        org.springframework.boot spring-boot-maven-plugin    

    Ensuite, faites votre paquet mvn.

    Voir cette page de documents de spring .

    Un aspect très important ici est de mentionner que la structure du répertoire doit être src / main / java / nameofyourpackage

    Pour ceux qui utilisent Gradle (au lieu de Maven), en référence ici :

    La classe principale peut également être configurée explicitement à l’aide de la propriété mainClassName de la tâche:

     bootJar { mainClassName = 'com.example.ExampleApplication' } 

    Sinon, le nom de la classe principale peut être configuré à l’échelle du projet à l’aide de la propriété mainClassName du DSL Spring Boot:

     springBoot { mainClassName = 'com.example.ExampleApplication' } 

    J’ai essayé le code suivant dans pom.xml et cela a fonctionné pour moi

        org.springframework.boot spring-boot-maven-plugin  myPackage.HelloWorld    maven-comstackr-plugin  true D:\jdk1.8\bin\javaw.exe    

    J’avais renommé mon projet et il trouvait toujours l’ancienne classe d’ Application sur le chemin de compilation. Je l’ai enlevé dans le dossier ‘build’ et tout allait bien.

    Depuis le Spring Boot 1.5, vous pouvez terminer l’ignorance de la chaîne littérale sujette aux erreurs dans pom ou build.gradle. L’outil de reconditionnement (via plugin maven ou gradle) sélectionnera celui annoté avec @SpringBootApplication pour vous. (Reportez-vous à ce problème pour plus de détails: https://github.com/spring-projects/spring-boot/issues/6496 )