【Spring Cloud】开发过程中的各种Bug整理

1. jpa.platform配置postgis,配置org.hibernate.spatial.dialect.postgis.PostgisPG9Dialect

报错:org.postgresql.jdbc4.Jdbc4Connection.isValid(int) 方法尚未被实作

原因:hibernate-spatial依赖的postgresql版本与项目依赖的postgresql的版本不一致

解决:在依赖hibernate-spatial时exclude postgresql

2. IDEA添加模块时报错:OutOfMemoryError: Java heap space

解决:增加IDEA/setting/vm heap size:512

3.Spring Cloud Bus 通过bus-refresh不能刷新配置问题

解决:检查Config Server/Client的bus-refresh是否发布,没有发布则需要配置:

    1. management.endpoints.web.exposure.include=“bus-refresh,info,health”

    2. pom.xml中添加依赖

        spring-cloud-starter-config

        spring-cloud-starter-bus-amqp

        spring-boot-starter-actuator

        spring-boot-starter-web 

提示:在开发环境中修改配置文件是不会起作用的,需要编译发布到tomcat下,再bus-refresh。

4. serializable反序列化时版本不一致

解决:在类中指明serialVersionUID

提示:IDEA中自动生成UID方法,Settings/Editor/Inspections/Serializable class without ‘serialVersionUID’,勾选。

5. fastjson解析,内嵌类报错:create instance error

解决:内嵌类需声明为static

6. pom.xml文件中指定Language Level

<maven.compiler.source>1.8</maven.compiler.source>   

<maven.compiler.target>1.8</maven.compiler.target>   

<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>   

7. cache在repository层,ERROR:SpelEvaluationException: EL1008E错误

解决:在key处应该用#p0.xx

8. fastjson循环依赖,和ERROR:Cannot handle managed/back reference ‘defaultReference’

解决:使用JsonBackReference & JsonManagedReference

class A{
    @ManyToOne
    @JoinColumn(name =  "Bid")
    @JsonBackReference(value = "relation-A-B")
    B b;
}
class B{
    @OneToMany(mappedBy = "b")
    @JsonManagedReference(value = "relation-A-B")
    List<A> alist;
}

9. 错误:Feign PathVariable annotation was empty on param 0

解决:@PathVariable指定参数名称

@PutMapping("/disuseable/{sn}")
ApiResponse disUseAble(@PathVariable(value="sn") String sn)

 

 

    

    

 

 

转载自:https://blog.csdn.net/JL_Gao/article/details/81113619

You may also like...