㈠ java编译中出现了Exception in thread “main" java.lang.UnsupportedClassVersionError
这个问题是由较高版本的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所显示的版本)。
3、综上,如果你是用编译器来编译的话,请首先确保编译器自带的jdk版本是否和操作系统中的java版本一致。一般是jdk和jvm版本不一致导致,可以在cmd命令下输入java -version和javac -version看版本是否一致,不一致的话需要改JAVA_HOME保证一致。
拓展资料:
Java 异常处理
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。异常发生的原因有很多,通常包含以下几大类:
1、用户输入了非法数据。
2、要打开的文件不存在。
3、网络通信时连接中断,或者JVM内存溢出。
这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:
1、检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
2、运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
3、错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
㈡ Javac 编译java脚本出错的问题
类型不一致无法进行比较;
使用正规编辑器,eclipse进行编译,解析,防止没必要的浪费时间
㈢ java语言中什么叫做编译错误
就是你用javac命令将源代码(.java)文件翻译成字节码(.class)文件时产生的错误。
比如,变量名不符合规定,变量没定义,关键字拼写错误等等。。。
java的编译器(javac)会根据java语法规定做一些检查,不符合规定的就不通过编译。
编译错误,是相对于运行时错误而言的。
运行时错误,是你用java命令运行时会出现的错误,一般会抛出异常。
㈣ 编译JAVA程序成功但运行javac命令时出现错误
因该是你的写法有问题。具体流程如下
1、 新建txt文档并将后缀改成.java
说明:
此处强调说明两个命令 javac 和java
javac 是编译命令既 将java文件编译成可执行的class文件
而java 是执行命令 既执行class文件
其中 javac 后边必须写java文件的全名 例如 Test.java
java 后边则是Test 没有后缀这一点需要注意
㈤ 我写了个java代码,编译没有问题,但是执行的时候就出了一堆乱七八糟的代码,这是怎么回事
原因是你编译使用的javac,把代码编译成版本61的class,而你的运行环境java,是一个老版本,能执行的上限是52版本。
解决方法有两个:
1,安装和JDK相同版本的Java运行时(JRE),并正确设置PATH变量。验证方法是:
在黑窗口里分别输入java -version和javac -version,两个版本要一致,或者java的版本更高。
相关命令截图如下:
㈥ WIN10系统,控制台编译JAVA报错
可能原因一:java类中没有main方法。必须有下面的main方法执行入口才可以:
public static void main(String[] args) {
}
可能原因二:说明当前的路径不是java文件存放路径。解决办法:
第一步:在cmd上通过cd进入相应java类路径。如(cd D:Remiticardpay-boss);
第二步:直接输入盘符即可完成路径切换(如 D:)。
㈦ java编译错误
一般反编译出来的goto有以下几种情况:
while或do while循环
exception处理
switch case
java->class的过程中,编译器会进行优化,将其处理为goto :label的形式。
解决这种问题,需要先试着理解一下它的逻辑,再将label下的代码调整到正确位置,补上while/try catch/switch case。