0

我尝试在 ubuntu 中为 Java5/Tomcat 5.5 编译一个 webtools 项目(手动安装 eclipse 3.4)。我将安装的 jre 设置为 java-1.5.0-sun-1.5.0.18 并将编译器合规级别设置为 1.5。当我将其导出到 .war 文件并尝试在 Tomcat (Windows XP, Tomcat 5.5.27, Java 1.5.0_18) 中部署它时,我收到以下错误:

严重:部署 Web 应用程序存档 Jdbc2Ei.war 时出错
java.lang.UnsupportedClassVersionError:.class 文件中的错误版本号
    在 java.lang.ClassLoader.defineClass1(本机方法)
    在 java.lang.ClassLoader.defineClass(未知来源)
...

有谁知道如何解决这个问题?

4

5 回答 5

1

java.lang.UnsupportedClassVersionError:.class 文件中的错误版本号

检查你所有的 jars是否都是为 java5 编译的。

于 2009-05-07T08:29:33.520 回答
0

在windows下编译,可以了!某处的一些错误......这个问题将有一段时间得到修复。

于 2009-05-07T09:56:00.957 回答
0

如果它在 Windows 中工作,可能是由于环境的差异,而不是 Linux 版本的 JDK 中存在的错误。检查 Linux 中是否存在多个 JVM(几乎可以肯定,因为 Ubuntu 可能带有非 Sun 版本),并 110% 确定您正在使用预期的版本进行编译。发行

which javac

echo $JAVA_HOME; echo $JDK_HOME

从命令行也可能有帮助,因为所有这些都可以用于定位 JDK(以及您在编译命令/工具中使用的设置)。

于 2009-05-07T10:12:15.253 回答
0

您的 tomcat 运行的 JDK 比用于编译某些类的 JDK 小。使用兼容的 JDK 重新编译或升级 tomcat 的 JRE。

于 2009-05-07T10:19:26.173 回答
0

一个天真的:在更改项目首选项之后和在 Ubuntu 上导出 WAR 文件之前,您是否尝试强制编译您的项目(项目 -> 在 Eclipse 中清理...)?

于 2009-05-07T11:14:29.817 回答