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
Mi proyecto tiene más de una clase con un método main
. ¿Cómo le digo al plugin Spring Boot Maven cuál de las clases debería usar como clase principal?
Agregue su clase de inicio en su pom:
com.mycorp.starter.HelloWorldApplication
Para aquellos que usan Gradle (en lugar de Maven):
springBoot { mainClass = "com.example.Main" }
Si NO usa el pom spring-boot-starter-parent, entonces de la documentación de Spring :
org.springframework.boot spring-boot-maven-plugin 1.1.3.RELEASE my.package.MyStartClass ZIP repackage
Si está utilizando spring-boot-starter-parent en su pom, simplemente agregue lo siguiente a su pom:
org.springframework.boot spring-boot-maven-plugin
Luego haz tu paquete mvn.
Vea esta página de doc . De spring .
Un aspecto muy importante es mencionar que la estructura del directorio debe ser src / main / java / nameofyourpackage
Para aquellos que usan Gradle (en lugar de Maven), haciendo referencia aquí :
La clase principal también se puede configurar explícitamente utilizando la propiedad mainClassName de la tarea:
bootJar { mainClassName = 'com.example.ExampleApplication' }
Alternativamente, el nombre de la clase principal se puede configurar en todo el proyecto utilizando la propiedad mainClassName de Spring Boot DSL:
springBoot { mainClassName = 'com.example.ExampleApplication' }
Probé el siguiente código en pom.xml y funcionó para mí
org.springframework.boot spring-boot-maven-plugin myPackage.HelloWorld maven-compiler-plugin true D:\jdk1.8\bin\javaw.exe
Cambié el nombre de mi proyecto y seguía encontrando la antigua clase de Application
en la ruta de comstackción. Lo eliminé en la carpeta ‘comstackr’ y todo estaba bien.
Desde Spring Boot 1.5, puede completar ignorar el literal de cadena propenso a error en pom o build.gradle. La herramienta de reempaquetado (a través de maven o plugin de gradle) seleccionará la que se anotó con @SpringBootApplication
por usted. (Consulte este problema para más detalles: https://github.com/spring-projects/spring-boot/issues/6496 )