your world start springbootapplication plugin jarlauncher hello for compile maven spring-boot

maven - world - Spring Boot GS: ComponentScan y ClassNotFoundException para ConnectionFactory



spring boot main class (5)

Necesitas que la clase principal esté dentro de un paquete. Debido a que la anotación de arranque de Spring @SpringBootApplication buscará un paquete para escanear mientras se inicia la aplicación.

Así que asegúrese de que haya una declaración de paquete en la parte superior de su archivo de clase principal. Eso es.

Estoy jugando a la guía de inicio de Spring Boot pero la configuración automática falla y obtengo:

java.lang.ClassNotFoundException: javax.jms.ConnectionFactory

Parece que se debe a la ubicación de la clase de aplicación. ¿Dónde debería estar ubicado? En el paquete de nivel superior (src / main / java) o en un paquete específico?


No coloque la clase de aplicación de arranque en el paquete predeterminado. Esto solucionará el problema.

Código de trabajo:

package com.spring.boot.app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }


Su clase de Application debe colocarse en un paquete específico y no en el paquete predeterminado (nivel superior). Por ejemplo, com.example en com.example y coloque todo el código de la aplicación en este paquete o en com.example.foo como com.example.foo y com.example.bar .

Colocar su clase de Application en el paquete predeterminado, es decir, directamente en src/main/java no es una buena idea y es casi seguro que hará que su aplicación no se inicie. Si lo hace, debería ver esta advertencia:

** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.


Su configuración debería verse así y Application.java debería estar en la raíz de sus paquetes Eg / src / main / java / io / eddumelendez

io.eddumelendez es mi paquete

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.1.RELEASE</version> <relativePath /> </parent> <groupId>io.eddumelendez.jms</groupId> <artifactId>spring-boot-jms-sample</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>qa</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-broker</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>


Tuve el mismo problema. Pronto me di cuenta de que no había incluido mi método MAIN en el paquete. Después de incluir la parte principal dentro del paquete, el arranque de primavera se realizó sin fallas.

Programa de muestra (Básico) -

package springbootquickstart; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class application { public static void main(String[] args) { // TODO Auto-generated method stub SpringApplication.run(application.class, args); } }