Spring Boot---自定义spring boot starter 问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot---自定义spring boot starter 问题相关的知识,希望对你有一定的参考价值。

1. "Failed to process import candidates for configuration class [com.simple.....]":

主要原因:

是因为自己定制的starter在打包时(package)用了spring-boot-maven-plugin,即在你的定制starter工程的pom.xml中有如下配置:

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

这样打出的包,就是按着spring boot的打包方式,Classpath设定,相对目录,资源目录等。当你用另一个spring boot项目使用这个定制的starter的jar包时。就会有问题 ,因为认为你这个starter是一个普通的jar包。

这样就无法找到你的类定义。

解决办法:

删除自定义starter中的pom.xml中的打包插件设置,采用缺省的jar打包方式。即可解决这个问题。

2.java.lang.IllegalArgumentException: Not an managed type: class .... ”

根本原因:

是你用到的一些JPA,实体,及Repository类不是你spring boot启动文件所在的目录。导致JPA搜不到这些实体,Repository类。

解决办法:

在spring boot 的启动类中加入如下注解:

@EnableJpaRepositories("com.example.repository")//那些搜索不到的JPA相关的实体及Repository的包路径

@EntityScan("com.example.repository")

如果你用到了mongo的JPA还应该加上相对应的。

@EnableMongoRepositories("com.example.mongo")
@EnableJpaRepositories("com.example.repository")

@EntityScan("com.example.repository")

 

以上是关于Spring Boot---自定义spring boot starter 问题的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot - 手把手教小师妹自定义Spring Boot Starter

企业级spring-boot案例-自定义Spring Boot Starter

Spring Boot---自定义spring boot starter 问题

Spring Boot + Spring Security自定义用户认证

企业级spring-boot案例-自定义Spring Boot Starter

企业级spring-boot案例-自定义Spring Boot Starter