我正在尝试迁移tomcat服务器。
两者都使用tomcat7
版本,并且所有人都准备好将我的java / jsp文件从一台服务器移到另一台服务器。
我做到了,并且遇到了UnsupportedClassVersionError
错误。
就像以前的JRE 1.8 version
和新安装的JRE 1.7 version
(均来自Oracle)一样,这很正常。
我继续将第二个升级到1.8。一切都很好,就像新的java -version
的输出是:
java版本“ 1.8.0_191” Java(TM)SE运行时环境(内部版本 1.8.0_191-b12)Java HotSpot(TM)64位服务器VM(内部版本25.191-b12,混合模式)
在旧版本中:
java版本“ 1.8.0_131” Java™SE运行时环境(内部版本 1.8.0_131-b11)Java HotSpot(TM)64位服务器VM(内部版本25.131-b11,混合模式)
在两个echo $ JAVA_HOME输出中:
/ usr / lib / jvm / java-8-oracle
我重新启动了tomcat和服务器本身...但是UnsupportedClassVersionError
仍然存在。
我不知道是否
1.8.0_191
被认为是1.8.0_131
之外的另一个版本注意:编译器与未重新编译的相同。只需将已编译的文件从旧服务器(没有问题版本)移到新服务器。
有人对我有提示吗?
非常感谢您
答案 0 :(得分:0)
正如注释中指出的那样,有时不检查JAVA_HOME,而是根据另一个条件(不能说是哪个)来决定应使用哪种jvm。因此,删除旧版本的Java会迫使进程选择所需的Java,因为它是唯一的。