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)
Exception in thread "main"
---------------------
运行的时候总是提示以上错误,java环境都安装了,测试过也是对的,win7的系统
这个问题确实是由较高版本的JDK编译的java class文件试图在较低版本的JVM上运行产生的错误。
1、解决措施就是保证jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。这里假设都是1.7版本。
2、如果都一致,但还是解决不了问题,那么你肯定不是直接在命令行中用javac来编译的,而是用类似于eclipse、netbeans这样的编译器来编译的。因为很多编译器都自带javac,而不是采用操作系统中的编译器。如果你的编译器是eclipse的话,那么需要在项目的属性里设置jdk版本,方法是右击项目-->properties-->java compiler --> Enable project specific settings -->将compiler compliance level设置为1.7,也就是与jvm一致的版本(在命令行中java -version所显示的版本)。
综上,如果你是用编译器来编译的话,请首先确保编译器自带的jdk版本是否和操作系统中的java版本一致。
见下图:
为什么出现Exception in thread "main"
出现"Exception in thread 'main'"通常意味着在Java程序的主线程中抛出了一个未被捕获的异常。详细来说,Java中的异常是程序在执行过程中出现的特殊条件,它打断了正常的程序流程。当异常发生时,如果没有适当的异常处理机制来捕获并处理这些异常,Java运行时环境会打印出堆栈跟踪信息,并且通常会包含"Exce...
java程序出现Exception in thread "main"是什么问题?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException 这句话表示异常出现在main这个线程里面,错误是java.lang.ArrayIndexOutOfBoundsException。这个错误是你下标获取超出范围了,一般是例如你数组长度为2.但是你获取数组[3].这时候就会报这个错,建议你自己学会调试。。希望能够帮到你!
exception in thread'main'是什么意思?
出现"Exception in thread 'main'"通常意味着在Java程序的主线程中抛出了一个未被捕获的异常。在Java中,异常是程序执行期间发生的问题或意外情况,它会打断正常的程序流程。当异常发生时,Java运行时系统会尝试查找能够处理该异常的代码块,这通常是通过try-catch语句来实现的。如果运行时系统找不到这样...
为什么出现Exceptioninthreadmain
出现"Exception in thread main"通常是因为在Java程序的主线程中发生了未捕获的异常。这种异常可能由多种原因引起,包括但不限于语法错误、逻辑错误、空指针异常(NullPointerException)、数组越界异常(ArrayIndexOutOfBoundsException)以及类型转换异常(ClassCastException)等。当异常发生时,如果程序中没有...
java程序出现Exceptioninthread"main"是什么问题?
当你在Java程序中遇到"Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException"这样的错误时,首先要明白这是主线程中出现的异常,具体指向了Java.lang.ArrayIndexOutOfBoundsException。这个异常的发生意味着你在访问数组时超出了其指定的索引范围。想象一下,如果你有一个长度为2的数组,但尝试...
java报错Exception in thread "main" java.lang.NoClassDefoundError...
遇到 "Exception in thread "main" java.lang.NoClassDefoundError" 这样的Java错误,主要原因是程序试图加载的类未能找到。解决这类问题的关键是根据错误提示寻找类的缺失位置。例如,我在使用infinispan时遇到了这个问题,报错指出"无法访问org.infinispan.commons.configuration.ConfigurationBuilderInfo",并...
java程序出现Exception in thread "main"是什么问题?
当你在Java程序中遇到"Exception in thread "main""这样的错误时,这意味着异常发生在程序的主要执行线程中。具体来说,错误信息"java.lang.ArrayIndexOutOfBoundsException"表示你尝试访问的数组索引超出了其范围。数组索引通常从0开始,如果你有一个长度为2的数组,你不能访问索引3,因为3是数组边界...
java编译中出现了Exception in thread “main" java.lang.UnsupportedClas...
1、解决措施就是保证jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。这里假设都是1.7版本。2、如果都一致,但还是解决不了问题,那么你肯定不是直接在命令行中用javac来编译的,而是用类似于eclipse、netbeans...
java编译中出现了Exception in thread “main" java.lang.UnsupportedClas...
1、解决措施就是保证jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。这里假设都是1.7版本。2、如果都一致,但还是解决不了问题,那么你肯定不是直接在命令行中用javac来编译的,而是用类似于eclipse、netbeans...
java中编译时出现Exception in thread "main" java.lang.NoClassDefFoundE...
这个是你的编译的路径错误了,你必须把编译当前路径指到你的Java文件存放的路径去才行。比如你把 MySecond.java 放在d:\/java这个文件夹里,那么你要执行的操作是“cd d:\/java”回车。若没有变化 再执行“D:”回车。这样 你就可以对d盘的Java文件夹中的 Java文件进行编译了。