problems_java
时间:2021-08-17 20:59:54
收藏:0
阅读:39
problems_java
1 tomcat运行javaweb项目报错
erorlog:
java.lang.UnsupportedClassVersionError: ... : Unsupported major.minor version 52.0
RCA:
使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行。jdk高版本能兼容低版本,但是低版本不能兼容高版本。我的项目使用jdk1.8在eclipse编译并运行,然后放到服务器上的jdk为1.7的tomcat中运行,所以报错了。
注:stanford parser和jdk版本对应关系:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
solution:
修改eclipse配置,然后重新编译导出war包,放到服务器上运行,具体配置如下:
- eclipse中右击项目,点击“Properties”;
- 进入Java Compiler,右侧的Complier Compliance level设为1.7;
- 进入Project Facets,右侧的Java设置为1.7(此项也可以不改,未验证过);
- 进入Java Build Path——Libraries,JRE System Library改为jdk1.7(此项也可以不改,亲测),保证旁边的Order and Export选项卡的JRE System Library的jdk版本与之相同;
- 如果上述还不管用的话试试这个,其实上面的步骤做完,相当于做了这一步,效果完全相同:
打开项目所在的文件夹,打开.settings文件夹,修改里面的org.eclipse.jdt.core.prefs
和
org.eclipse.wst.common.project.facet.core.xml
文件,将所有是1.8的地方修改为1.7
参考链接:https://www.cnblogs.com/jpfss/p/9036645.html
2 前端发起请求报错,响应码500
errorlog:
o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [ResultDTO(code=2, message=Could not write JSON: -; nested exception is com.fasterxml.jackson.databin (truncated)...]
m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: -; nested exception is com.fasterxml.jackson.databind.JsonMappingException: - (through reference chain: ResultDTO["data"]->java.util.ArrayList[1]->LaborCostInfoDTO["qn"])]
RCA:
这是jackson的一个bug,当实体类中的某个属性值为 - (英文的中横线)时,报以上错误。
solution:
-
改为 —
(中文的中横线)。
3
原文:https://www.cnblogs.com/mediocreWorld/p/15153570.html
评论(0)