1、问题描述
之前jdk更新过后用的是jdk-12.0.2,Tomcat仍然使用8.0。在eclipse中启动tomcat后,进行jsp页面编写和访问都是没有问题的,但是最近要建立网站,想着直接用cmd启动tomcat,发现一直闪退,而且用eclipse启动tomcat后却不能直接访问http://localhost:8080,报404错误,加上其他jsp页面却可以访问,比如:http://localhost:8080/index.jsp。
2、解决eclipse启动Tomcat访问localhost:8080
(1)双击servers里面的tomcat,打开tomcat overview,看到server locations的选项默认的是选了第一个,要改为第二个use tomcat installation。
(2)刚打开时,server locations是灰色的。右击Tomcat server,选择add and remove、remove all、finish,然后右击Tomcat server选择clean,再次进入tomcat overview,就可以进行(1)中的修改。下图是改好的。



(3)右击tomcat,选择start启动,访问http://localhost:8080/,可以看到安装成功的界面。

3、cmd启动Tomcat可能遇到的问题和方法
注:由于之前安装了jdk12,前面才会出错,所以安装jdk8的话,正常配置好环境是没有问题的。如果出错,可以按(3)和(8)查看路径是否出错;(6)更改批处理文件。
(1)每次访问localhost:8080都要打开elipse来启动tomcat很麻烦,接下来尝试用cmd来启动。先配置环境,在系统变量那里新建CATALINA_BASE、CATALINA_HOME,path里添加%CATALINA_HOME%\lib,%CATALINA_HOME%\bin。



(2)win+r打开cmd,转到自己的tomcat安装目录下
cd D:\eclipseEE\Tomcat 8.0\bin
startup.bat(或statrtup)
#运行以上命令后tomcat出现闪退,尝试着在该目录下点击startup.bat也是闪退。

(3)我反复检查了好多遍,环境配置并没有出错,尝试着打开tomcat8w,显示还没有安装,在cmd中输入以下命令:
service.bat install
再次打开tomcat8w,点击start却一直启动不了。看到安装教程的路径是没有双引号的,就想着去注册表的ImagePath将其去掉,改完发现并没有用。



(4)在cmd中定位错误,发现错误如下。我再次去确认了jdk和tomcat的配置,后来才想到可能是版本问题。
catalina run
#报错出现:-Djava.endorsed.dirs=D:\eclipseEE\Tomcat8.0\endorsed
# Error: Could not create the Java Virtual Machine.
# Error: A fatal exception has occurred. Program will exit
(5)虽然官网上写的tomcat可以支持高版本的jdk,但jdk12还是不行,我后面尝试换回了jdk8就可以了。先在网上下载jdk1.8.0,因为不在eclipse中使用,所以这里就没有配置该版本jdk的环境,直接去tomcat的catalina.bat文件里修改。
另外,怕在原来的tomcat改错,所以重新下载了win64的apache-tomcat-8.5.57。
#先把原来tomcat8w.exe删除
service.bat remove
(6)找到apache-tomcat-8.5.57的bin目录下的catalina打开,在最前面指定设置jdk8的安装路径,如:
SET JAVA_HOME=D:\eclipseSE\jdk1.8.0
SET JRE_HOME=D:\eclipseSE\jdk1.8.0\jre

startup启动tomcat,不关闭cmd,访问http://localhost:8080/,成功了。


(7)重新安装tomcat8w.exe,打开tomcat8w.exe,发现路径也正常了。
#一开始想命名tomcat8.5没成功,好像是默认命名tomcat8不能改
service.bat install tomcat8

安装后打开“服务”也可以看到tomcat8,可还是无法直接在“服务”启动它(当然tomcat8w.exe里也不能启动它)。

(8)将java的JVM路径改为自己的jdk8的安装路径,点击“应用”。再去general里启动,成功了。以后就可以直接在“服务”里启动Tomcat,并成功访问http://localhost:8080/了。



4、结语
(1)版本问题:下载安装的jdk和tomcat版本尽量相近,两者采用新旧不一致的版本容易出现各种问题,像Tomcat8最好搭配jdk8。
(2)路径问题:配置路径也要做好相对应的修改,除了系统环境变量,还有tomcat8w.exe里的jvm路径。
(3)当安装了多个tomcat时,每次只能启动一个,如果想启动多个的话,就要改8080端口,避免冲突。
踩坑折腾了一天多,希望能帮到遇到类似问题的你
本文详细介绍了在更新JDK至12.0.2后,遇到启动Tomcat8访问localhost:8080失败的问题。通过在Eclipse中调整Tomcat Server Location,以及在CMD环境下配置环境变量、修改catalina.bat文件指定JDK8路径,最终成功解决了问题。同时强调了版本匹配、路径配置和端口避免冲突的重要性。

4万+

被折叠的 条评论
为什么被折叠?



