【问题标题】:Can't run jar file in a Debian Server无法在 Debian 服务器中运行 jar 文件
【发布时间】:2014-07-30 21:21:26
【问题描述】:

我有一个无法在 Debian 服务器上运行的 java 应用程序(它在本地运行)。原因如下:

Exception in thread "main" java.lang.UnsupportedClassVersionError: TimeSeriesEntry : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

然后我检查了版本,我得到了这个:

java -version
java version "1.6.0_31"
OpenJDK Runtime Environment (IcedTea6 1.13.3) (6b31-1.13.3-1~deb7u1)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

如果是版本问题,如何更新到最新版本?

这是我正在运行的服务器:

# uname -a
Linux iWidgetServer1 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3+deb7u2 x86_64 GNU/Linux

PS:Jar 是在 Linux Mint 14(64 位)中使用 Eclipse(Export -> Runnable Jar)创建的

【问题讨论】:

    标签: java jar debian executable-jar


    【解决方案1】:

    您使用什么版本的 JDK 构建 jar 以及您尝试在什么版本上运行它。

    我相信您使用 JDK 7 编译和构建,然后尝试在 JDK 6 上运行

    【讨论】:

    • 这也是我所相信的。这是我在 PC 上运行的 Java:chris@mint-desktop ~ $ java -version java version "1.7.0_55" OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.12.10.1)
    • 是的,这就是问题所在。您使用 JDK 7 构建它并在 JDK 6 上进行部署。只需在 debian 服务器上更新 java。类似于su apt-get install openjdk-7-jdk
    • 谢谢。有效。我只需要运行update-alternatives --config java 来选择新的Java 环境。
    最近更新 更多