不抛出主要的次要不受支持的异常

时间:2018-04-25 13:11:17

标签: java tomcat

我必须将我的Web应用程序从Java 6迁移到Java 8.我已经进行了一些代码更改并使用Java进行编译。它很成功,我的manifest.mf包含: - 清单 - 版本:1.0 Ant-Version:Apache Ant 1.9.6 创建者:1.8.0_171-b11(Oracle Corporation)

但是当在linux虚拟盒(jre 1.6,tomcat 7.0.29)上运行已编译的war时,它不会抛出主要的次要不支持异常。

这是正常的吗?

1 个答案:

答案 0 :(得分:0)

如果您有明确的" -source 1.6"和" -target 1.6"传递给javac的参数并且您不使用任何需要新字节码版本的Java8功能,然后仍然可以在JVM 6上启动已编译的代码。

$ cat Empty.java
class Empty {};
$ javac Empty.java
$ file Empty.class
Empty.class: compiled Java class data, version 52.0 (Java 1.8)
$ javac -target 1.6 -source 1.6 Empty.java
warning: [options] bootstrap class path not set in conjunction with -source     1.6
1 warning
$ file Empty.class
Empty.class: compiled Java class data, version 50.0 (Java 1.6) 

检查你的/ maven文件是否不设置这些参数。