首页 > 编程语言 > 详细

problems_java

时间:2021-08-17 20:59:54      阅读:37      评论:0      收藏:0      [点我收藏+]

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包,放到服务器上运行,具体配置如下:

  1. eclipse中右击项目,点击“Properties”;
  2. 进入Java Compiler,右侧的Complier Compliance level设为1.7;
  3. 进入Project Facets,右侧的Java设置为1.7(此项也可以不改,未验证过);
  4. 进入Java Build Path——Libraries,JRE System Library改为jdk1.7(此项也可以不改,亲测),保证旁边的Order and Export选项卡的JRE System Library的jdk版本与之相同;
  5. 如果上述还不管用的话试试这个,其实上面的步骤做完,相当于做了这一步,效果完全相同:
    打开项目所在的文件夹,打开.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

problems_java

原文:https://www.cnblogs.com/mediocreWorld/p/15153570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!