首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Boot GS:适用于ConnectionFactory的ComponentScan和ClassNotFoundException

Spring Boot GS:适用于ConnectionFactory的ComponentScan和ClassNotFoundException
EN

Stack Overflow用户
提问于 2015-01-29 17:25:22
回答 5查看 21.1K关注 0票数 24

我在玩Spring Boot入门指南,但自动配置失败,我得到:

代码语言:javascript
复制
 java.lang.ClassNotFoundException: javax.jms.ConnectionFactory

这似乎是由于Application类的位置造成的。它应该放在哪里?在顶层包(src/main/java)还是在特定的包中?

EN

回答 5

Stack Overflow用户

发布于 2015-01-29 23:26:25

您的Application类应该放在特定的包中,而不是默认的(顶级)包中。例如,将其放在com.example中,然后将所有应用程序代码放在这个包中,或者放在com.example.foocom.example.bar等子包中。

Application类放在默认包中,即直接放在src/main/java中并不是一个好主意,而且几乎肯定会导致应用程序无法启动。如果这样做,您应该会看到以下警告:

代码语言:javascript
复制
** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.
票数 78
EN

Stack Overflow用户

发布于 2017-04-08 05:34:44

不要将启动应用程序类放在默认包中。这将解决问题。

工作代码:

代码语言:javascript
复制
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);         

    }
}
票数 5
EN

Stack Overflow用户

发布于 2017-03-17 09:38:44

您需要将主类放在包中。因为Spring boot注解@SpringBootApplication将在启动应用程序时查找要扫描的包。

因此,请确保在主类文件的顶部有一个包语句。就这样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28211049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档