原文地址:http://blog.csdn.net/stypace/article/details/38083581

启动tomcat时cmd窗口一闪而过解决方法。

注: 我这边只是配置了环境变量就ok了, 另外如果配置多个Tomcat,使用nginx转发,请看下面两个链接
配置多个Tomcat: https://www.cnblogs.com/duende99/p/10322646.html
nginx 负载均衡配置: https://www.cnblogs.com/duende99/p/10322666.html

问题现象:

在实际开发中一般都是eclipse+tomcat(也许还会用到tomcat的插件),我们只需要在eclipse中单击servers上的按钮就可以成功启动tomcat了,

但是如果想在tomcat的安装目录下 双击startup.bat启动时却一闪而过了。这是为什么呢(tomcat启动失败),马上就带大家看看具体的原因。

下面我先跟大家确认一下问题出现的前提条件(本机版本java:1.6.20,tomcat:6.0.32):

1)在eclipse里面启动tomcat时都是正常的。

2)在系统中配置了各种环境变量如下:

JAVA_HOME:H:\DevelopTools\Java\jdk1.6.0_20

CATALINA_BASE:H:\DevelopTools\apache-tomcat-6.0.32

CATALINA_HOME:H:\DevelopTools\apache-tomcat-6.0.32

CLASSPATH:.;%JAVA_HOME%;%JAVA_HOME%\jre\lib;

PATH:.;%JAVA_HOME%\bin;%CATALINA_HOME%\bin;

来分析一下:

进入tomcat的安装目录(即解压后放置的地方):

看到圈出红色的3个bat文件,一般通过startup.bat启动tomcat时流程是:startup->catalina->setclasspath->catalina

如果这3个bat文件里面有一个出现错误的话就是启动失败。为了找到一闪而过的原因得需要我们来看看这3个文件里面到底是什么了

先记事本打开startup.bat,找到最后一句话::end,我们知道end表示结束的意思,:end是一个标记,我们在后面加上一句pause

(暂停等待的意思)再次执行startup.bat,就会看到上图,当我们按任意的键时cmd窗口又是一闪而过了。但是这已经确定了我们的环境变量都是正确的。

为了更加详细的看到信息,我们再来更改一句:找到call "%EXECUTABLE%" start %CMD_LINE_ARGS% 把里面的start替换为run。

再来看看cmd窗口里面输出错误信息了:

error occurred during initialization of vm

could not reserve enough space for objectheap

could not create the java virtual machine

我们大体可以理解为:因为程序请求不到足够的内存就启动不了vm,导致程序退出。

那么我们可以来解决这个问题了:申请足够的内存就可以了

如下操作:在catalina.bat中 找到Execute The Requested Command下面的

set JAVA_OPTS把这一句替换为:

set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m-Xmx800m -XX:MaxNewSize=256m

再次启动startup.bat会看到

已经启动成功了(记得把之前修改的内容run、pause还原回去)。

到这里,貌似问题已经解决了,如果遇到其他的问题该怎么解决呢(因为其他的问题也会导致cmd窗口一闪而过)?

startup.bat 一闪而过解决方案的更多相关文章

  1. Tomcat的startup.bat一闪而过问题的解决

    问题描述:点击Tomcat的startup.bat,一闪而过. 问题分析: 1.Tomcat的startup.bat--->catalina.bat--->setclasspath.bat ...

  2. 解决点击tomcat的startup.bat一闪而过的问题

    问题: 点击startup.bat一闪而过,经过网上查询,原来是没有配置JAVA_HOME,配置一下就可以了 原因: tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与 ...

  3. tomcat启动startup.bat一闪而过(分析与解答)

    tomcat启动startup.bat一闪而过(分析与解答) 方法/步骤     在正确配置Tomcat环境变量后,遇到很多次运行startup.bat后,一个窗口一闪而过的.为了分析导致tomcat ...

  4. tomcat启动startup.bat一闪而过 转

    遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:tomcat在启动时,会读取环境变量的信息,需要一个CATALIN ...

  5. 又见 tomcat启动startup.bat一闪而过

    startup.bat启动的时候,一闪而过,停止, 没有提示信息,错误信息,没有任何log... 后面在 startup.bat. catalina.bat 最后 加入 pause. 也看不到结果.. ...

  6. tomcat启动startup.bat一闪而过的问题处理方式

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

  7. tomcat启动startup.bat一闪而过【亲测有效】

    遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:tomcat在启动时,会读取环境变量的信息,需要一个CATALIN ...

  8. windows系统下tomcat启动startup.bat一闪而过

    遇到运行startup.bat后,一个窗口一闪而过的问题 tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tom ...

  9. tomcat9 点击bin目录下的startup.bat一闪而过

    我装的是tomcat9免安装版,jdk版本是11,之后去tomcat bin目录下点击startup.bat闪退(好吧,只有想办法解决了) 博客中的解决办法五花八门,什么环境变量没配好....不过都不 ...

随机推荐

  1. JS设计模式之工厂模式

    1 什么是工厂模式? 工厂模式是用来创建对象的一种最常用的设计模式.我们不暴露创建对象的具体逻辑,而是将将逻辑封装在一个函数中,那么这个函数就可以被视为一个工厂.工厂模式根据抽象程度的不同可以分为: ...

  2. Linux磁盘空间满了的排查与解决思路

    block正常满 (磁盘实际不足)inode 满 大量的小文件block 满 文件没有被彻底删除(硬链接数0 进程调用数不为0) 解放方法: 1 查看df -h 磁盘使用量根据占用量大小逐步逐步排查 ...

  3. 浏览器输入URL按回车后都经历了什么?

    在浏览器上输入一个URL,按回车后,这个过程发生了什么? 1.首先,浏览器地址栏输入了URL,先解析URL,检测URL地址是否合法 2.浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直 ...

  4. 自动化测试badboy脚本开发(一)

    badboy的检查点: 检查点设置例子:以上一节脚本录制方法简单录制搜索“badboy”脚本,在搜索框中选中搜索内容(注意录制脚本后要停止录制)→点击工具栏中的Tools→选择Add Assertio ...

  5. Oracle数据库统一审核的启用测试与关闭

    环境:windows server 2008.Oracle 12c R2 下面的步骤,连接为sysdba,除非指定了其它方式. (1)运行如下查询,确定统一审核是否启用了: select value ...

  6. 配置mysql主从步骤

    在公司开发中,有时候为了缓解数据库压力,会把读写分开为两个数据库来操作,读为一个数据库,写为一个数据库,然后两个数据库做同步,这样能明显降低数据库的压力,下面给大家介绍如何进行mysql主从数据库配置 ...

  7. input[type='file']默认样式

    <input type="file" name="" id="" value="" /> 当input的ty ...

  8. 20155219 第十周课下作业-IPC

    题目:研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接 共享内存 管道 FIFO 信号 消息队列 1.共享内存 共享内存就是允许两个不相关的进程访问同一个逻辑内存. ...

  9. 2018 vue前端面试题

    1.active-class是哪个组件的属性?嵌套路由怎么定义?答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答: ...

  10. C语言求矩阵的逆

    #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <window ...