UnsupportedClassVersionError ...但具有相同的JAVA版本

时间:2018-12-11 16:11:48

标签: java

我正在尝试迁移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仍然存在。

我不知道是否

  • 在某些地方我仍然指向JRE 1.7安装
  • 或者1.8.0_191被认为是1.8.0_131之外的另一个版本

注意:编译器与未重新编译的相同。只需将已编译的文件从旧服务器(没有问题版本)移到新服务器。

有人对我有提示吗?

非常感谢您

1 个答案:

答案 0 :(得分:0)

正如注释中指出的那样,有时不检查JAVA_HOME,而是根据另一个条件(不能说是哪个)来决定应使用哪种jvm。因此,删除旧版本的Java会迫使进程选择所需的Java,因为它是唯一的。