2024-04-18 20:58:34 | 我爱编程网
这个问题是由较高版本的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、错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
参考资料:
Java 异常处理_w3cschool
1.找到tomcat安装目录下的bin目录。
2.修改bin目录下面的catalina.bat文件,对照这个文件,将最后一部分修改成下面这样。
rem Execute Java with the applicable properties
if not "%JPDA%" == "" goto doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% > %CATALINA_BASE%\logs\catalina.out
goto end
:doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% > %CATALINA_BASE%\logs\catalina.out
goto end
:doJpda我爱编程网
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% > %CATALINA_BASE%\logs\catalina.out
goto end
:doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% > %CATALINA_BASE%\logs\catalina.out
goto end
:end
3.将startup.bat中倒数第二行 call "%EXECUTABLE%" start %CMD_LINE_ARGS%?? 改为? call "%EXECUTABLE%" run %CMD_LINE_ARGS%
注:以上加粗的是指定输出路径。路径前面的“ > ”代表的是输出是对当前文件的内容进行覆盖,也就是如果自己指定的catalina.out文件中有内容,将会被覆盖。如果使用“ >> ”, 则不会覆盖,而是在catalina.out文件尾部追加信息。
我爱编程网(https://www.52biancheng.com)小编还为大家带来java程序该在哪些地方加日志的相关内容。
log日志分别有info,error,warning,debug四种,
info类型和debug用途差不多,但是debug日志只有在测试环境才会打印输出.info在任何环境下优惠打印输出,该两种主要用来记录一些重要信息,至于什么地方重要,看自己写的程序
error看单词就知道是错误日志,一般情况下是写在发生异常的catch函数里面.用来记录错误日志
warning 就是警告.这中日之很少用到,一般就用在代码块有风险,或者出现错误,但不影响程序的逻辑里面
java运行时出现异常怎么办?这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。1.在浏览器中设置浏览器的安全级别,打开浏览器,最好是IE浏览器。2.在右上角的设置选项卡中选择
php编写一个打印菱形的函数,并调用函数输出一个菱形?<?php//打印空心菱形$n=8;for($i=1;$i<=2*$n-1;$i++){//外层for控制金字塔的层数//在打印*前先打印空格if($i<=$n){for($k=1;$k<=$n+1-$i;$k++){echo"";}怎么让php打印错误日志?(1)使用echo
python+给定一个数a,若输入的数不是整数,则抛出异常,并重新进行数字的输入?可以使用以下Python代码实现:whileTrue:(tab)try:(tab)(tab)a=int(input("请输入一个整数:"))(tab)(tab)break(tab)exceptValueError:(tab)(tab)print("输入错误,请
Java编程,怎样做一个最简单的输出程序?比如myeclipse,那么就是创建一个类,然后敲入main,alt+/可以导出main函数(Java程序的入口就是main)。如果没有用工具,需要配置环境变量的,配置好之后。建一个Java文件,文件名字和类名相同,包括大小写,例如:publicvoidshow(){Scannerscan=newScanner(System.in())
Java异常机制是什么一、异常的关键字:一般来说,异常的关键字有:try、catch、finally、throw、throws。网上的资料对这几个关键字是这样解释的:try:Openingexception-handlingstatement.catch:Capturestheexception.finally:Runsitscodebeforeterminatingt
PHP自带的日志是怎么写入和查看的呢查看PHP错误日志可以在命令行里面输入:find.-nameerror.logtailf-ferror.log写入日志,有固定的函数error_log($str,3,filename)phpconnection_aborted例子在PHP编程中,当客户端突然中断脚本执行时,我们可能需要记录下这种异常情况,以便于后续的调试和问题排查。以下是
如何记录PHP错误日志记录PHP错误日志的方法:首先设置PHP的配置文件;然后将使用指定的文件记录错误报告日志;最后错误信息记录到操作系统的日志里。记录PHP错误日志的方法:1、使用指定的文件记录错误报告日志如果使用自己指定的文件记录错误日志,一定要确保将这个文件存放在文档根目录之外,以减少遭到攻击的可能。并且该文件一定要让PHP脚本的执行用户(Web服务器进程所有者)具
Java编程中常见异常有哪些?在Java编程中,常见的错误有很多种,下面是一些常见的错误类型:语法错误(SyntaxError):这是最基础的错误,通常发生在代码的拼写、标点符号、括号、分号等方面。例如,遗漏了一个分号或括号不匹配等。运行时错误(RuntimeError):这种错误通常发生在程序运行时,比如内存不足、数组越界等。这些错误通常在程序设计中无法完全避免,但可以通过合理的
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00