Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不支持ClassVersionError,尽管Java版本相同_Java_Swing_Class_Unsupported Class Version - Fatal编程技术网

不支持ClassVersionError,尽管Java版本相同

不支持ClassVersionError,尽管Java版本相同,java,swing,class,unsupported-class-version,Java,Swing,Class,Unsupported Class Version,我在目标计算机中遇到此错误,尽管: 我的源计算机和目标计算机都安装了相同版本的Java-1.6更新 我编译并以类似方式运行的所有文件都能完美运行,除了这一个——它是我的应用程序的Swing GUI 另外,我没有使用任何IDE,我使用普通记事本进行编辑 为什么不支持ClassVersionError而不顾这三个约束,以及它的解决方案 注意:该文件是一个简单的GUI前端代码,可以在源代码上完美地工作,它使用了AWT和SWING中的简单库 Exception in thread "main" java

我在目标计算机中遇到此错误,尽管:

  • 我的源计算机和目标计算机都安装了相同版本的Java-1.6更新
  • 我编译并以类似方式运行的所有文件都能完美运行,除了这一个——它是我的应用程序的Swing GUI
  • 另外,我没有使用任何IDE,我使用普通记事本进行编辑
  • 为什么
    不支持ClassVersionError
    而不顾这三个约束,以及它的解决方案

    注意:该文件是一个简单的GUI前端代码,可以在源代码上完美地工作,它使用了AWT和SWING中的简单库

    Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
            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.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 java.lang.ClassLoader.loadClassInternal(Unknown Source)
    

    不幸的是,事实上,您的主类是使用较新版本的Java编译器编译的。该类文件或您的类文件以某种方式严重损坏。检查您的
    路径上是否没有安装多个版本的
    java
    javac
    。您可能还想尝试将
    -target1.6
    传递给javac;如果您正在运行(例如)JavaC1.7,这将指示它生成与Java1.6兼容的代码

    请记住,您可以安装不同版本的JRE和JDK—根据您的路径顺序,您的系统可能会选择Java 1.7作为
    javac
    ,而选择Java 1.6作为
    Java


    此外,如果在类路径上有任何第三方库,那么应该确保它们也不是用较新版本的Java编译的。如果您的其他类没有使用可能掩盖了问题的第三方库。

    不幸的是,事实上,您的主类使用的Java编译器版本比您运行的版本更新。该类文件或您的类文件以某种方式严重损坏。检查您的
    路径上是否没有安装多个版本的
    java
    javac
    。您可能还想尝试将
    -target1.6
    传递给javac;如果您正在运行(例如)JavaC1.7,这将指示它生成与Java1.6兼容的代码

    请记住,您可以安装不同版本的JRE和JDK—根据您的路径顺序,您的系统可能会选择Java 1.7作为
    javac
    ,而选择Java 1.6作为
    Java


    此外,如果在类路径上有任何第三方库,那么应该确保它们也不是用较新版本的Java编译的。如果您的其他类没有使用可能掩盖问题的第三方库。

    当您试图运行在不同版本的JDK中编译的类以在不同版本的JRE上执行时,会发生这种情况


    请检查您的jdk和JRE版本是否相同或兼容。您可以使用java-version检查版本,当您试图在不同版本的JRE上运行在不同版本的JDK中编译的类时,会出现这种情况


    请检查您的jdk和JRE版本是否相同或兼容。您可以使用java-version

    -target 1.6
    检查版本,仅确保该版本具有正确的幻数和类格式。为了更好地测试兼容性,请另外使用
    源代码
    &
    -bootclasspath
    选项。@AndrewThompson,的确如此,但OP报告中的问题是关于幻数和/或类格式错误,所以这是一个很好的第一步。事实上,我在目的地编译代码,得到了相同的错误@Purushottam,正如我所说,您可能安装了多个Java版本,Java和javacyes使用了不同的版本。我的path和classpath中有不同且不兼容的JDK和JRE版本。问题解决了,非常感谢<代码>-目标1.6
    仅确保该版本的魔法编号和类格式正确。为了更好地测试兼容性,请另外使用
    源代码
    &
    -bootclasspath
    选项。@AndrewThompson,的确如此,但OP报告中的问题是关于幻数和/或类格式错误,所以这是一个很好的第一步。事实上,我在目的地编译代码,得到了相同的错误@Purushottam,正如我所说,您可能安装了多个Java版本,Java和javacyes使用了不同的版本。我的path和classpath中有不同且不兼容的JDK和JRE版本。问题解决了,非常感谢!我提到过我的JRE和JDK安装在同一版本我提到过我的JRE和JDK安装在同一版本