java - 在另一台计算机(其他 Java 版本)上运行 Jar 时出现异常

标签 java

玩了一个小网络程序,用 netbeans 创建了一个 Jar。在我的计算机 java 1.7.0.60 上运行得很好,但是当我将其带到另一台具有较新版本的 java 1.7.0_65 的计算机时,它将无法运行,我收到此错误:

C:\Program Files (x86)\Java\jre7\bin>java -jar ReverseEchoServer.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: reverseechose
rver/SocketClient : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

我在这里读过几篇谈论 PATH 的帖子,看过但没有运气。我相信这是版本差异。任何建议将不胜感激,谢谢!

最佳答案

为 Java 7 编译的 Java 类文件的主要/次要版本为 51/0。如果您的 JVM 实现没有为 Java 7 做好准备,则会出现此错误,指示“我不知道如何解释和运行此类文件。”

尝试针对较旧的 JVM 版本进行编译,或升级您的 JVM。

使用目标并使用目标开关指定需要执行的版本,后跟版本号。

javac -target 1.7 yourJarName.jar

关于java - 在另一台计算机(其他 Java 版本)上运行 Jar 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24786570/

相关文章:

java - 无法注册以 null 定义的 bean 'postRepository' 。具有该名称的 bean 已在 null 中定义

java - 无法通过java应用程序连接到数据库

java - 使用TreeMap Key作为两种不同类型的集合

java - DWR + Spring - 多个ajax过滤器不起作用

java - 如何在java中的抽象类中实现接口(interface)并扩展线程

java - 如何记录 WELD SE 容器关闭的原因

java - 如何使用spring mvc在浏览器中下载文件?

java - 自定义模型的缓存/持久化的最佳方法

java - 为什么像素是 float 的?

java - 奥里卡 - java.lang.NoClassDefFoundError : javassist/CannotCompileException