2

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题

 3 months ago
source link: https://blog.51cto.com/u_15912723/9583217
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题

精选 原创

让世界更美好 2024-02-04 12:37:54 博主文章分类:Java ©著作权

文章标签 环境变量配置 闪退 tomcat 文章分类 Java 后端开发 yyds干货盘点 阅读数212

通过startup.bat启动的流程是:startup->catalia->setclasspath->cataline,如果这3个bat文件里面有一个出现错误的话就是启动失败,为了找到一闪而过的原因,需要了解这三个bat文件里面是什么。

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_环境变量配置
解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_环境变量配置_02
解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_闪退_03

二:具体说明

<1>由于JDK环境变量配置错误

tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录。

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_环境变量配置_04

首先检查java的环境变量是否配置正确。

检查方法:

打开命令行cmd,在命令行中输入java --version,看看是否会出现下面的情况:

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_环境变量配置_05

如果出现上图出现java版本,则说明JDK的环境变量配置成功。

下面这个是tomcat的环境变量配置。

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_tomcat_06

如果检查都没问题,则说明不是这个原因。

<2>原因2:由于startup.bat的配置错误所导致。

如果startup.bat的配置里面是下面第一幅图片所示,则会出现一闪而过的情况。

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_闪退_07
解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_闪退_08

可以对它进行编辑,在:end的面一行在敲上pause,保存编辑后,再次运行startup.bat之后,就不会出现一下闪退的情况。而是出现下下面的情况。

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_闪退_09

再次执行startup.bat,出现上图-- 窗口不会闪退 但是出现请按任意键继续的情况

调试成功之后,把pause去掉。

按下任意键之后,还是会闪退。虽然是闪退,但是说明前面的环境变量配置的是正确的.

如果有错误信息,上网查看错误信息的解决办法。

<3>原因3:环境配置没有错,也没有上述两种错误那么可能你已经启动了一个Tomcat,这样两个Tomcat会产生冲突。你可以在com中查看8080是否被占用:

netstat -ano |findstr "8080"

使用上述命令检查8080端口的占用程序

如果有占用程序使用下面命令通过删除PID去删除这个占用的进程。

taskkill /PID 占用的PID /F

<4>原因4:由于JDK的版本和所下载的tomcat需要的版本不同导致闪退,解决办法是更改电脑上的JDK版本。

通过命令行运行catalina run,发现出现了如下的错误。

错误: 加载主类 org.apache.catalina.startup.Bootstrap 时出 现 LinkageError java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

这个问题的解决办法是:

这个错误通常是由于你正在使用的Java Runtime版本低于编译Tomcat的Java版本所导致的。根据错误信息,你的Java Runtime只能识别到61.0版本的类文件,而Tomcat的Bootstrap类是使用65.0版本编译的。

要解决这个问题,你可以尝试以下几种方法:

在tomcat官网查看

我的这个问题是由于,JDK版本和tomcat所需的jdk版本不一样。

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_环境变量配置_10

在官网中查看,发现这个11的版本所需的JDK版本为JDK21和最高版本,而我的电脑上使用的是JDK17,所以运行会闪退。

把JDK版本更换为21之后并配置好环境之后发现运行不会出现错误闪退了。

<5>解决运行之后的乱码问题

出现这种乱码的原因是tomcat中的配置中的编码和命令行的编码格式不一样,解决办法是将tomcat中的配置文件中的编码改为GBK;

首先找到conf中logging.properties将原有属性java.util.logging.ConsoleHandler.encoding = UTF-8改为java.util.logging.ConsoleHandler.encoding = GBK

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_闪退_11
解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_tomcat_12

然后再次启动tomcat发现运行成功并且不会出现乱码。

解决apache-tomcat安装成功之后运行startup.bat之后闪退以及解决闪退后的乱码问题_闪退_13

至此所有的问题解决。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK