• Spring Boot(3)---自定义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")

  • 相关阅读:
    awk
    tac
    cat
    less
    more
    head
    vim
    linux安装redis
    Redis for Python开发手册
    Python3.x标准模块库目录
  • 原文地址:https://www.cnblogs.com/windwithlife/p/5947327.html
Copyright © 2020-2023  润新知