调用Web服务时不支持的类版本

时间:2014-05-31 08:04:55

标签: java web-services tomcat jax-ws

我正在使用jre 1.5 tomcat服务器。在我的应用程序中,我正在调用Web服务。当我调用Web服务时,我收到以下错误。

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

所以我发现问题出在jax-ws jar文件中。

我在我的应用程序构建路径中使用了以下jar文件。

  

JAXWS-API-2.0.jar

我刚刚添加了这个jar文件。我怀疑这个jar不是在jre 1.5下编译的。

请帮我解决这个问题。或者指向一个可以在jre 1.5下工作的jar文件。

1 个答案:

答案 0 :(得分:2)

首先,您最好的选择是升级到Java 7(或者更好的是8),并考虑升级到更新版本的Tomcat。

Java 5平台是真正古老的,并且(免费)安全补丁在几年前就已经停止使用。因此,除非您为Oracle Java维护付费,否则您的JVM可能会出现许多未修补的安全漏洞。

如果您正在运行Tomcat,确实没有充分的理由不升级,特别是因为您显然正在构建/部署新的Web应用程序。


如果你不能,那么最好的办法是下载JAXWS 2.0 API的源代码,并尝试使用Java 5编译器进行编译。但是:

  • 我无法追踪JAXWS 2.0 API源代码。我能找到的最接近的是2.2。
  • JAXWS 2.x API源代码有可能无法在Java 5下编译。

相关问题:JAX-WS RI on Java 5