• Tomact问题


    说正文前先说说我的问题是如何解决的,我之前装有J2SE,我将J2SE删除后,还是出现相同问题。重启电脑,再运行TOMCAT,正常运行。你可以看正文了,操作要按照正文无差错。

     

    转自:http://blog.163.com/ghh_0000/blog/static/6191261201062813337172/

    1.如果双击startup.bat,窗口一闪而过,可以在命令行里面启动startup.bat; 
    2.如果命令行里面启动startup.bat情况还是这样,就可以在bat命令后面加上pause。这样就不会一闪而过了; 
    3.为何startup无法启动?? 
        首先错误如下: 
        The JAVA_HOME environment variable is not defined correctly 
        This environment variable is needed to run this program 
        NB: JAVA_HOME should point to a JDK not a JRE 

        图形界面检查JAVA_HOME=C:Program FilesJavajdk1.6.0_03;  没看出什么问题 
    终端检查  echo %JAVA_HOME% 显示为C:Program FilesJavajdk1.6.0_03 没什么问题(其实结果是不一样的哦) 
    再加上jdk、netbeans、eclipse都运行正常(这些都使用同一个jdk,因此我认为JAVA_HOME肯定没有问题) 
        后来发现在tomcat目录下有一个setclasspath.bat,在终端里执行,查看JAVA_HOME 相关内容发现,原来在JAVA_HOME=C:Program FilesJavajdk1.6.0_03;  而恰恰是这个";"导致tomcat将java.exe的之路径组合成 
    C:Program FilesJavajdk1.6.0_03;injava.exe 

    4. 其他一些关于tomcat启动时的奇怪问题: 
       a.Tomcat无法从"开始"中启动,但可以在startup.bat中启动 
         JDK版本过低 
       b.启动的时候,加载信息的提示界面在屏幕上停留几秒钟就消失了,同时,tomcat的应用程序也自动关闭 
         在server.xml的最后,/host之上,应该写上的是:content 
       c.TOMCAT启动时有一些显示,但仍会自动关闭,无法启动. 
        可能是地址被占用,运行桌面上的"关闭TOMCAT"快捷方式,执行完毕后再启动TOMCAT.   d.TOMCAT启动时一闪而过,无法启动. 
         可能是端口被占用,可找到TOMCAT的安装目录下的SERVER.XML文件,如..EAM2003confSERVER.XML,用记事本打开此文件,查找8080,如果找到,就将8080改为8088. 
       e.TOMCAT能正常启动,可见到登录界面,但登录不进系统 
       可能是IE的设置问题,将所有设置回复成默认设置,关闭"上网助手"或其他IE插件的"拦截弹出窗口"的功能. 

    5.解读startup.bat文件 
    @echo off                                           //DOS在运行批处理时,会依次执行批处理中的每条命令,并且会在显示器上显示,如果你不想让它们显示,可以加一个“echo off”。当然,“echo off”也是命令,它本身也会显示,如果连这条也不显示,就在前面加个“@”。 
    if "%OS%" == "Windows_NT" setlocal    //判断当前系统是否是window系统 
    rem ---------------------------------------------------------------------------  //rem 是注释(下同) 
    rem Start script for the CATALINA Server 
    rem 
    rem $Id: startup.bat 302918 2004-05-27 18:25:11Z yoavs $ 
    rem --------------------------------------------------------------------------- 

    rem Guess CATALINA_HOME if not defined 
    set CURRENT_DIR=�%          //设置当前目录 
    if not "�TALINA_HOME%" == "" goto gotHome //如果设置了CATALINA_HOME环境变量 ,就直接到下面的gotHome处 
    set CATALINA_HOME=%CURRENT_DIR% //如果没有设置CATALINA_HOME,就设置CATALINA_HOME为当前目录(其实这里她假设你进入tomcat的安装目录) 
    if exist "�TALINA_HOME%incatalina.bat" goto okHome//判断一下catalina.bat是否找到了,找到了就直接到下面的gotHome处 
    cd .. //这里他是假设你开始已经进入到了tomcat的bin目录,所以就退到上一级目录 
    set CATALINA_HOME=�%//现在再设置CATALINA_HOME为tomcat的安装目录 
    cd %CURRENT_DIR% //这里是进入dos的当前目录 
    :gotHome 
    if exist "�TALINA_HOME%incatalina.bat" goto okHome  //再次判断catalina.bat是否找到了,找到了就直接到下面的okHome处,没有的话,就只能提示你啦! 
    echo The CATALINA_HOME environment variable is not defined correctly 
    echo This environment variable is needed to run this program 
    goto end 
    :okHome 

    set EXECUTABLE=�TALINA_HOME%incatalina.bat  //设置要执行的文件 

    rem Check that target executable exists 
    if exist "%EXECUTABLE%" goto okExec //再次判断catalina.bat是否找到了,找到了就直接到下面的okExec处,没有的话,就提示。 
    echo Cannot find %EXECUTABLE% 
    echo This file is needed to run this program 
    goto end 
    :okExec 

    rem Get remaining unshifted command line arguments and save them in the 
    set CMD_LINE_ARGS= //这里是设置参数 
    :setArgs 
    if ""%1""=="""" goto doneSetArgs //判断参数是否加入完成 
    set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 //将参数组成一行,接在后面 
    shift 
    goto setArgs 
    :doneSetArgs 
    call "%EXECUTABLE%" start %CMD_LINE_ARGS% //执行catalina.bat,最好将这行改为:echo "%EXECUTABLE%" start %CMD_LINE_ARGS%       以便阅读、理解本文件的作用

    -------------------------------------------------------------------------------------------------------------------------------------------------------------

    一直以来我的tomcat都可以在eclipse中启动,但是直接启动就不行,在cmd中显示找不到catalina_home,但是我明明设置了,今天正好有

    空,找找原因,看到上面转帖中的startup.bat中的代码解释,终于发现 原来我在设置catalina_home的时候在最后加了“;”符号,导致路径

    不对,把符号去掉,从新启动tomcat,OK。

  • 相关阅读:
    从设计到实现,一步步教你实现Android-Universal-ImageLoader-缓存
    AsyncTask工作机制简介
    获取当前AppDelegate 正在显示的UIViewController
    Jqurey实现相似EasyUI的页面布局
    C++学习笔记(九):作用域和命名空间
    C++学习笔记(八):函数重载、函数指针和函数对象
    C++学习笔记(七):函数
    Stage3D学习笔记(一):3D术语简介
    C++学习笔记(六):复杂数据类型(string、容器和STL)
    C++学习笔记(五):指针和引用
  • 原文地址:https://www.cnblogs.com/liu-Gray/p/4825433.html
Copyright © 2020-2023  润新知