• Tomcat下载安装及常见问题解决办法


    一、Tomcat的下载:

    下载地址:http://tomcat.apache.org/ 下载Tomcat6.0(在左侧的Download下,考虑到稳定性现在企业大部分还在用Tomcat6.0

    (1)这两种直接解压就可以使用,一般下载这一种(解压到你想放的文件夹下,可以直接更改解压后的文件名,文件夹命名最好是英文。)

    32-bit Windows zip (pgp, md5)

    64-bit Windows zip (pgp, md5)

    (2)这个需要安装才能使用,适合纯新手

    32-bit/64-bit Windows Service Installer (pgp, md5)


    二、Tomcat在MyEclipse中集成:

    ==> Window-preferences-MyEclipse-Servers-Tomcat-Tomcat 6.x-点击右侧的Browse,选择你的Tomcat安装目录(我的是D:Java omcat6),勾选Enable,在点击Apply

    ==> 点击Tomcat 6.x下的JDK,在右侧jdk name下点击下拉箭头,选择你安装的jdk版本

    ==> 在Optional java JVM arguments下的输入框填入 -Xms128m -Xmx512m -XX:MaxPermSize=256m在点击Apply

    ==> 点击Tomcat 6.x下的Launch,勾选DeBug mode,在点击Apply,点击OK即可


    三、Tomcat常见问题与解决办法

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

    问题现象:在实际开发中一般都是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:DevelopToolsJavajdk1.6.0_20

    CATALINA_BASE:H:DevelopToolsapache-tomcat-6.0.32

    CATALINA_HOME:H:DevelopToolsapache-tomcat-6.0.32

    CLASSPATH:.;%JAVA_HOME%;%JAVA_HOME%jrelib;

    PATH:.;%JAVA_HOME%in;%CATALINA_HOME%in;


    来分析一下:进入tomcat的安装目录(即解压后放置的地方),看到圈出红色的3个bat文件,一般通过startup.bat启动tomcat时流程是:startup->catalina->setclasspath->catalina,如果这3个bat文件里面有一个出现错误的话就是启动失败。为了找到一闪而过的原因得需要我们来看看这3个文件里面到底是什么了


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


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


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



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

    error occurred during initialization of vm

    could not reserve enough space for object heap

    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主要负责找到catalina.bat文件,并执行catalina.bat。

    catalina.bat是tomcat所有脚本中最重要的脚本,完成几乎所有的tomcat操作。如启动,关闭等等,都是由catalina.bat脚本来完成的。

    setclasspath.bat是用来设置基础的环境变量的(如JAVA_HOME等)

     


    2、通过startup.bat启动时报错:

    严重: Error initializing endpoint

    java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??

    at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:647)

    at org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:107)

    at org.apache.catalina.connector.Connector.initialize(Connector.java:1014)

    at org.apache.catalina.core.StandardService.initialize(StandardService.java:680)

    at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)

    at org.apache.catalina.startup.Catalina.load(Catalina.java:524)

    at org.apache.catalina.startup.Catalina.load(Catalina.java:548)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)

    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

    总结了一下,大致有以下几种解决方案:

    1.端口号被占用,更改tomcat端口号;

    2.把Tmcat服务属性更改为手动,重新加载Tomcat;

    3.重启Myeclipse;

    4.打开任务管理器,找到javaw.exe,把这个进程杀掉;

    5.开始-运行-输入cmd-netstat   -ano-回车-查到8888端口的PID

    通过Ctrl+Alt+Delete快捷键打开Windows任务管理器-查看-选择列-勾选PID(进程标识符)(P)-找到8888端口的PID-结束进程

    或开始-运行-输入cmd-netstat -ano|find "8888"-tasklist|find "PID "-askkill /pid PID

    PS:我当时是现在MyEclipse中启动了一次Tomcat,然后通过startup.bat启动时报了上面的错误。但在任务管理器中没有找到上面的进程,然后我重启了一次计算机就可以运行startup.bat


    3、打开MyEclipse 的Tomcat的时候突然出现 Error starting Tomcat 6.x server 错误。

    修改方案:运行cmd,netsh winsock reset,这个是重置winsock,可能是那个软件篡改了winsock

    但是在修改 cmd的过程中又总是出现 “请求的操作需要提升(作为管理员运行)。”,接着就是具体步骤:在C:WindowsSystem32下找到cmd.exe程序,右击“以管理员身份运行” 这样再输入上面的修改命令即可;






    您的资助是我最大的动力!
    金额随意, 欢迎来赏!

    文章出处:http://www.cnblogs.com/oldinaction/ (1)可关注微信公众号:【AEZO】获取更多信息 (2)微信公众号/小程序交流QQ群:303522792(验证码:cnblogs)。

    如果,想给予我更多的鼓励,求打

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,【小易Smalle】!

  • 相关阅读:
    day27_递归
    Linux常用命令
    Linux中的标准输入输出文件
    秋招日记《三》——字节三面挂
    《秋招日记》阿里一面
    秋招日记<->PDD一面挂
    十大排序
    第 254 场周赛 数组元素的最小非零乘积
    找不到boost/bind.hpp
    如何在Google浏览器中批量下载网页上的图片
  • 原文地址:https://www.cnblogs.com/oldinaction/p/5167490.html
Copyright © 2020-2023  润新知