【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