tomcat双击startup启动闪退问题解决(首先让窗口不会关闭,看到错误信息才是解决问题的前提)

背景:

        环境变量配置好后,在命令行下执行Java、javac命令均正常;但是双击startup启动tomcat时出现闪退现象,重新配置环境变量无效。


一、先看到问题才行(找准病因才好下手治病):

    闪退根本看不清命令行里面打印了什么,于是在startup.bat里面,最后一行加上pause,使得窗口不会关闭,打印信息如下:

    Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

    At least one of these environment variable is needed to run this program

    明明配置好了环境变量,为啥显示找不到呢?

二、寻找解决办法,网上大约有这样几种说法:(记在这里备用)

        1、环境变量配置那里,使用系统变量而不是用户变量;(符合)

        2、检查端口是否被占用;(显然没有被占用,而且我们的报错信息也显示了是环境变量问题)

        3、在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑。在文件头加入下面两行:

             SET JAVA_HOME=D:\Java\jdk1.7 (java jdk目录)
             SET TOMCAT_HOME=E:\tomcat-7.0 (解压后的tomcat文件目录)

             在已解压的tomcat的bin文件夹下找到shutdown.bat,右击->编辑。在文件头加入下面两行:

             SET JAVA_HOME=D:\Java\jdk1.7 (java jdk目录)
             SET TOMCAT_HOME=E:\tomcat-7.0 (解压后的tomcat文件目录)

             (这种办法,显然很麻烦,服务器上那么多tomcat,不可能挨个去设置一遍吧。。。,我是比较懒,继续寻找一劳永逸的办法)

三、那该怎么解决呢?

       问题的根源在环境变量,重装过、命令行窗口也确定正常,那么,是不是tomcat和命令行读取环境变量的方式不一样呢?

       这时候能想到的验证方式,就是重启服务器。结果真的可以了。关于具体的生效方式,环境变量使用等等,后面有机会再深入学习下。

       重启服务器还有个小插曲,服务器是客户提供的远程服务器,竟然没找到重启、关机。。。

       于是使用命令行方式重启电脑:cmd——》shutdown -r 

猜你喜欢

转载自blog.csdn.net/ejiao1233/article/details/83059468