我在玩Spring Boot入门指南,但自动配置失败,我得到:
java.lang.ClassNotFoundException: javax.jms.ConnectionFactory这似乎是由于Application类的位置造成的。它应该放在哪里?在顶层包(src/main/java)还是在特定的包中?
发布于 2015-01-29 23:26:25
您的Application类应该放在特定的包中,而不是默认的(顶级)包中。例如,将其放在com.example中,然后将所有应用程序代码放在这个包中,或者放在com.example.foo和com.example.bar等子包中。
将Application类放在默认包中,即直接放在src/main/java中并不是一个好主意,而且几乎肯定会导致应用程序无法启动。如果这样做,您应该会看到以下警告:
** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.发布于 2017-04-08 05:34:44
不要将启动应用程序类放在默认包中。这将解决问题。
工作代码:
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);
}
}发布于 2017-03-17 09:38:44
您需要将主类放在包中。因为Spring boot注解@SpringBootApplication将在启动应用程序时查找要扫描的包。
因此,请确保在主类文件的顶部有一个包语句。就这样。
https://stackoverflow.com/questions/28211049
复制相似问题