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 main
método. ¿Cómo le digo al plugin Spring Boot Maven cuál de las clases debería usar como clase principal?
Respuestas:
Agregue su clase de inicio en su pom:
o
fuente
mvn clean package -Dstart-class=com.foo.Application
si quieres especificar dinámicamente usando qué clase principalmvn spring-boot:run -Dstart-class=com.foo.Application
. Esto es válido solo si no ha especificado mainClass en el complemento de pomPara aquellos que usan Gradle (en lugar de Maven):
fuente
Could not set unknown property 'mainClass' for object of type org.springframework.boot.gradle.dsl.SpringBootExtension
.Si NO usa el pom spring-boot-starter-parent, entonces de la documentación de Spring :
fuente
Para aquellos que usan Gradle (en lugar de Maven), haciendo referencia aquí :
fuente
Si está utilizando spring-boot-starter-parent en su pom, simplemente agregue lo siguiente a su pom:
Entonces haz tu paquete mvn.
Vea esta página de documentos de Spring .
Un aspecto muy importante aquí es mencionar que la estructura del directorio debe ser src / main / java / nameofyourpackage
fuente
Intenté el siguiente código en pom.xml y funcionó para mí
fuente
Desde Spring Boot 1.5, puede ignorar el literal de cadena propenso a errores en pom o build.gradle. La herramienta de reempaquetado (a través de Maven o Gradle Plugin) elegirá la anotada
@SpringBootApplication
para usted. (Consulte este tema para obtener detalles: https://github.com/spring-projects/spring-boot/issues/6496 )fuente
Cambié el nombre de mi proyecto y todavía estaba encontrando la vieja
Application
clase en la ruta de compilación. Lo eliminé en la carpeta 'build' y todo estuvo bien.fuente
He visto este problema con Java 1.9 y SpringBoot 1.5.x, cuando main-class no se especifica explícitamente.
Con Java 1.8, puede encontrar la clase principal sin propiedad explícita y el 'paquete mvn' funciona bien.
fuente