Spring Boot:未加载包中的类

时间:2017-05-24 01:13:54

标签: java spring gradle spring-boot

我遇到了Spring Boot应用程序的问题,该应用程序未加载包含2个bean的配置类。奇怪的是,同一个包中的另一个配置类被加载。

两个配置类都包含@Configuration。没有加载的那个也有@ComponentScan(basePackages = {"com.example.package.in.jar"})

基础包值是指加载的jar文件中的包。

我正在使用Gradle 3.4.1Spring Boot 1.5.3。当我打开Spring调试时,它会显示正在找到并加载的其他配置类,但它只是跳过另一个。没有抛出异常 - 根本没有错误。

如果代码没有运行会是一回事,但至少加载类或抛出错误,但创建的日志文件没有显示错误。

2 个答案:

答案 0 :(得分:0)

使用@EntityScan(" com.yourpackage *")将检查所有包裹以" com.yourpackage"

开头

参考https://github.com/Roshanmutha/JPARepo_44149690/blob/master/src/main/java/com/rcmutha/usl/controller/Application.java

答案 1 :(得分:0)

事实证明问题在于文件甚至没有被看到,期间。在尝试建议后,我找到了另一种选择:@ImportAutoConfiguration。我在Spring Boot app主文件中使用了这个注释,并在config包中指定了文件。这是当编译器说它无法解析我遇到问题的文件时。

我删除了内容,删除了文件,并使用稍微不同的名称重新创建了文件,粘贴了内容并更新了注释的文件列表。它奏效了!

该文件出现在IntelliJ的文件树中,但编译器没有看到它,所以它没有被配置。在注释中,它必须明确地查找它,然后产生错误。

感谢那些发布建议的人。

莱斯