【问题标题】:How to compile .war for Java 5/Tomcat 5.5 in Ubuntu?如何在 Ubuntu 中为 Java 5/Tomcat 5.5 编译 .war?
【发布时间】:2009-05-07 08:14:21
【问题描述】:

我尝试在 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(未知来源) ...

有人知道怎么解决吗?

【问题讨论】:

    标签: java web-services tomcat war


    【解决方案1】:

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

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

    【讨论】:

    • 检查过...这不是问题:(
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      which javac
      

      echo $JAVA_HOME; echo $JDK_HOME
      

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

      【讨论】:

      • 我试过 java-1.5.0-sun-1.5.0.18、java-6-openjdk、java-6-sun-1.6.0.13。他们每个人都产生了一场略有不同的战争,但没有一个奏效......
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

        • 是的,不同的时间有不同的编译设置!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-02
        • 1970-01-01
        • 1970-01-01
        • 2011-05-26
        相关资源
        最近更新 更多