url: https://blog.csdn.net/zhx_0323/article/details/78844323
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (c1_Optimizer.cpp:271), pid=20668, tid=11100
# guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp
#
# JRE version: 6.0_45-b06
# Java VM: Java HotSpot(TM) Client VM (20.45-b01 mixed mode windows-x86 )
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#http://blog.csdn.net/fei1502816/article/details/8489613
问题的原因就在于 显示JIT在做编译优化的时候处理setType方法时出错。
查看eclipse下的hr_err_pidxxx.log,提示
编译到这个任务的时候异常:
C1: xxx xxx org. .hibernate.cfg.annotations.SimpleValueBinder.setType
- org.hibernate.cfg.annotations.SimpleValueBinder.setType
解决办法:让jvm跳过该方法的编译优化
修改tomcat的启动参数:在jvm启动参数中添加启动参数
- -XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType
如果是eclipse下启动服务,则在eclipse-preference-java-installed jres 里面设置,
在 defalt vm arguments 填入上面的代码就可以了。
如下图: