首先,请允许我稍微放弃一下:我知道这个错误,当我尝试在1.7或更低版本的JVM中执行一个用Java 1.8编译的类时。但是,就我而言,发生了一些奇怪的事情。当然,在使用Java 1.7执行类时出现以下错误:
java.lang.UnsupportedClassVersionError: registrazioneutenti/RegistrazioneUtente : Unsupported major.minor version 52.0
虽然我在运行Java 1.8时没有任何问题。
奇怪的是,这个类确实用Java 1.7编译,正如Manifest所说:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Created-By: 1.7.0_79-b15 (Oracle Corporation)
此外,在RegistrazioneUtente.class上发出file
命令输出:
RegistrazioneUtente.class: compiled Java class data, version 51.0
所以我真的很困惑:为什么我会抱怨有关52.0版的异常?
我能想到的只有一件事:因为这是一个来自SOAP WebService的JAX-WS编译类,所以NetBeans负责编译。由于我无法为这样的编译类控制Java编译器,因此我不得不使用1.7 JDK启动NetBeans,甚至修改我的PATH环境变量以获得1.7 javac。我想知道:这还不够吗?我如何在NetBeans中创建SOAP WebService类以正确定位Java 1.7?