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")