最近由于Java开发环境由eclipse换成idea,发现了一些很奇特的问题。遂写下来和大家分享下。

开发使用环境为(64位版)idea2017.3月版本+jdk9+tomcat9,发现之前配置好的tomcat不能使用了。

先说方法:将jdk从版本9更换为jdk8。如果有兴趣接着往下看即可。

排错过程如下:

之前eclipse使用的是32为的tomcat7,先将tomcat7换成64位后发现tomcat还不能正常使用,于是将tomcat更换成最新版本tomcat9。发现使用cmd命令启动tomcat安装目录/bin/startup.bat还是无法启动tomcat。

可以右键点击startup.bat,编辑,在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口不会再一闪而过,而是停留在桌面上(调试成功,把pause去掉即可)。

再次打开startup.bat文件会出现如下信息。

首先排除如下问题:tomcat的环境变量配置问题。结论:tomcat的环境变量在运行的时候就自动配上了。(原因在最后)。

接着考虑如下问题:端口问题(由于没有报错,所以这里不写,仅作提醒)、环境变量中path,Java的环境变量是不是放在最前面。另外可以在startup.bat文件的第一行后面添加一句话:set JAVA_HOME=[jdk安装目录]D("[ ]"去掉)。如图

再次使用cmd命令启动startup.bat文件后会出现很多信息,如图

之后在浏览器涨输入“http://localhost:8080/”发现还是不能启动tomcat服务器。

考虑如下问题:由于没有报错,是否是已经启动,却将tomcat服务关闭掉(由于这里没有出现类似问题,仅作提醒用)、或者是tomcat服务已经启动了,但是却没有正常启动、或者是之前配置有问题(已经排除)。这里重点考虑是否是没有正常启动,于是尝试使用cmd命令结束tomcat服务。在cmd命令界面中进入tomcat的bin目录,启动shutdown.bat文件,发现报错,欣喜若狂。因为终于报错了。如图

发现是一个很简单的Java虚拟机的参数错误,于是按照传统方法更改之后(这里放一个传送门:虚拟机参数错误),再次使用shutdown.bat命令发现问题依然存在。发现问题没有那么简单。经过一番科学搜索之后,终于在Oracle官网找到了答案。(传送门:Oracle官网说明)如图

chrome翻译如下:

所以,我们尝试将jdk版本从jdk9更换到jdk8中,启动tomcat服务。

ok大功告成,撒花。旁边的人拍了拍我的肩膀,上午干啥了,答曰:在启动tomcat服务

************分割线************

一、其实在idea中我们可以不用配置tomcat服务也可以正常进行Java Web开发,但是在配置JRebel for IntellIj之后会出现一个 错似曾相识的错误,如图:

那么,我们配置完tomcat之后可以启动了吗?

答案是不能!如图:

还是会出现:JRebel-JVMTI [ERROR] Process finished with exit code 1,

打开日志发现。Application Server was not connected before run configuration stop, reason:

Unable to ping server at localhost:1099

解决思路是:JRE_HOME没有配置,或编译器使用的jre版本是不正确的。还是同样的思路,我们在配置完JRE_HOME变量后,一定要配置一遍jre版本。如图

run-->Edit Configurations 选择jre版本为8的。完美解决,如图。

二、解释下为什么配置tomcat的时候不用配置tomcat的环境变量,结论:

1、判断CATALINA_HOME是否为空,为空则把当前目录设为CATALINA_HOME的值;

2、再判断catalina.bat是否存在,不存在则把当前目录设为CATALINA_HOME的值;

3、再判断环境变量下的catalina.bat是否存在,存在则调用bin目录下的“catalina.bat start”命令~

我们找到startup.bat文件,鼠标右键点击编辑,看到里面的内容:

rem Guess CATALINA_HOME if not defined       //为注释代码:判断 CATALINA_HOME 环境变量是否已经配置
set "CURRENT_DIR=%cd%"               //设置CURRENT_DIR 变量(当前工作目录)为:D:\Code\tomcat9\bin
if not "%CATALINA_HOME%" == "" goto gotHome   //如果配置了 CATALINA_HOME 环境变量跳转执行 gotHome
set "CATALINA_HOME=%CURRENT_DIR%"             //如果没有设置,则设置 CATALINA_HOME 变量为:D:\Code\tomcat9\bin
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome //查看"当前工作目录\bin" 目录(即D:\Code\tomcat9\bin)下是否存在catalina.bat 文件,如存在跳转okHome
cd ..                   //回到上级子目录,即:D:\Code\tomcat9 ,此时当前工作目录已经更改为:D:\Code\tomcat9
set "CATALINA_HOME=%cd%"         // 更改 CATALINA_HOME 变量值为:D:\Code\tomcat9\bin
cd "%CURRENT_DIR%"            //切换至当前工作目录:D:\Code\tomcat9

最后,我用一句话来鼓励你我,这群在路上前进的人:“所有的伟大,源于一个勇敢的开始”。

打完收工,有问题欢迎留言。转载要征得同意哦。

java启动tomcat9闪退相关推荐

  1. android应用加固后闪退,梆梆加固,启动就闪退了

    今天尝试用了梆梆加固,结果启动就闪退了. 错误信息如下,毫无头绪. 03-07 13:51:27.142 6520 6520 E CrashHandler: In thread: Thread[mai ...

  2. 梆梆加固,启动就闪退了

    今天尝试用了梆梆加固,结果启动就闪退了. 错误信息如下,毫无头绪. 03-07 13:51:27.142 6520 6520 E CrashHandler: In thread: Thread[mai ...

  3. Tomcat启动后闪退系列问题

    Tomcat安装配置系列问题 1.安装Tomcat 2.启动失败--闪退 第一步 第二步 第三步 结束语 装好tomcat后启动一直闪退,配置了半天环境变量也不见好,我都要裂开了.本博文是参考其他大佬 ...

  4. 全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解)

    全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解) 参考文章: (1)全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案 ...

  5. Windows下,启动Redis闪退 问题解决方案

    目录 前言 第1步:修改"redis.windows.conf"文件内容 第2步:输入cmd命令,启动Redis 第3步:创建Redis快速启动程序start.bat 前言 解压R ...

  6. 解决ubuntu上在androidstudio中启动emulator闪退的问题(1)

    解决ubuntu上在androidstudio中启动emulator闪退的问题(1) 参考文章: (1)解决ubuntu上在androidstudio中启动emulator闪退的问题(1) (2)ht ...

  7. Genymotion 启动app闪退解决方案

    Genymotion 启动app闪退解决方案 参考文章: (1)Genymotion 启动app闪退解决方案 (2)https://www.cnblogs.com/Test-road-me/p/536 ...

  8. App启动就闪退引发的深思

    昨天快下班的时候,测试Q我说:"小哥哥,小哥哥,你的app怎么一启动就闪退啊,而且出现闪退后,就一直都闪退."我去,这是什么鬼,为啥我以前没发现,没办法,只能找测试妹子,问清楚具体 ...

  9. 笔记本AutoCAD启动时闪退怎么办_CAD启动就闪退的原因分析

    CAD启动就闪退的原因分析 大家在使用CAD绘图时经常会遇到闪退.异常退出等情况,其实不只是在CAD中,在Word.PS以及其他软件的使用过程中都可能会遇到这样的问题.小编想提醒大家:遇到这样的情况不 ...

  10. Windows CMD命令行一启动就闪退问题解决

    windows cmd命令行一启动就闪退,也没有什么报错信息,后来在网上找到了这篇帖子:Windows命令行cmd/PowerShell一启动就报错,解决了我的问题,遂分享一下 问题原因 Anacon ...

最新文章

  1. 早就听闻阿里开源的 Arthas 在做 Java 应用诊断上十分牛逼,没失望
  2. iView 近期的更新,以及那些“不为人知”的故事
  3. mybatis多个参数(不使用@param注解情况下),sql参数占位符正确写法
  4. Arrays.asList()知识点
  5. 最大化/最小化/关闭窗口代码集锦
  6. Linux之date命
  7. 用nginx转发请求tomcat 如何配置访问日志获取真实ip
  8. Unity学习1——unity安装踩坑
  9. 2023年陕西师范大学宗教学考研上岸前辈备考经验指导
  10. python 爬虫学习之 selenium.webdriver学习
  11. stm32打怪升级之再见闪烁灯
  12. 计算机研究生学什么课本,计算机研究生到底该怎么读?
  13. 词根词缀|ori/orn/ortho/pact/pan及词源O的故事
  14. 一分钟告诉你通话记录能查到多久前的!
  15. 零信任时代,企业如何提升自身安全?
  16. PCB实用设计3 | 二极管大全·尖刺·滤波·有意义的降压
  17. 【考研英语语法】并列连词详解
  18. ICPC nangchan I. Max answer
  19. 对图像压缩自编码器的理解
  20. python opencv报drawContours '(-215) npoints 0'

热门文章

  1. html5在线拍照,js html5 调用摄像头拍照
  2. python scrapy框架爬虫_python爬虫之scrapy框架介绍
  3. 【AD封装】插件电感,变压器(带3D)
  4. php实现 令牌桶,php 基于redis使用令牌桶算法实现流量控制
  5. 【Web:Bootstrap框架】简单实现理解
  6. 为什么很多人愿意去下载社交APP?
  7. 史上最大,人工智能算法模型GPT-3问世,这意味着什么?
  8. 根据IP获取国家地区
  9. troublemaker中文谐音_troublemaker歌词, trouble maker 音译中文歌词
  10. 易语言 html 替换全角 半角,易语言全角与半角转换的使用讲解