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

标签 java web-services tomcat jax-ws

<分区>

我正在使用 jre 1.5 tomcat 服务器。在我的应用程序中,我正在调用 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 文件。

最佳答案

首先,您最好的选择是升级到 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 .

关于java - 调用 Web 服务时不支持的类版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23967861/

相关文章:

java - org.apache.catalina.core.StandardContext startInternal 严重 : Error listenerStart

java.sql.SQLNonTransientConnectionException :Keyspace names must be composed of alphanumerics and underscores (parsed: '' )

java - Android 颜色网格示例

java - 为什么 JUnit 找不到我的测试?

java - 从Excel表中读取数据并写入同一个Excel表中

java - 需要 : Tomcat + Axis2 + JAX-WS guide for dummies

asp.net - 如何修复 IIS 中运行的 Web 服务中的 "Request format is unrecognized for URL..."错误?

android - 设计方法 : Android Restful with JSON

java - Tomcat 应用程序和存储在数据库中的全局变量。用于维护服务器和应用程序的管理器应用程序

java - Tomcat 的 JAX-RS 异常