声明:本博客是自己项目中遇到问题的解决方案,请大家对症下药,也可能我的方案并不是适用你
最近在做项目的过程中,用到有es相关,然后引用了es相关的jar包,结果tomcat启动时候直接报错:
经过参考网友的各种解决方案,最后解决了。其实问题不大,只是经验不足,不知道问题在哪里,经过自己的反复试验,得到如下结论:
分析原因:一般出现这种问题,都是在A版本的jdk下编译的class文件,放在B版本的jdk的运行环境中运行,导致出错。
解决办法:找出原因就好办了,将程序放到A版本的jdk下运行就行,由于我是做的web项目,发布的接口,所以运行环境就是服务器了。将server的运行环境改为A即可。本人的tomcat中的server运行的是1.6的jdk,而es是1.7jdk,所以将server的运行环境设为1.7即可。如下图:
之后保存,运行即可。
以上足以解决tomcat运行时的报错,其实有的网友会有进行下面的设定
以上是我的环境中的,我并没有更改程序运行时的jdk。
但是我还是建议将上面的jdk也改为1.7,尽量使项目和服务器的运行环境保持一致。
一下内容来自 http://blog.youkuaiyun.com/xiaxiaorui2003/article/details/4327029
以上为相应jdk的主版本号。
即 :JVM 运行时能接受的主版本号是不大于本身jdk相应的主版本号。