Tomcat部署项目时启动报错总结1、虚拟机报错端口被占用tomcat的默认端口是8080(或者其他自己设置的),可能已经被其他占用。
解决方法:在tomcat安装路径下conf文件夹中的server.xml中把断口号改掉!如果一台机器上使用多个tomcat,则改掉所有相关的端口避免重复了,包括想如下在server.xml中找到如下地方改掉port的值●●(改完后看看和本机上正在用的tomcat是不是有重复的port)2、tomcat的启动窗口一闪而过Tomcat启动的dos窗口一闪而过,如何看出错信息?在DOS窗口运行STARTUP.BAT文件,另外,吧startup.bat文件最后的call "%EXECUTABLE%" start %CMD_LINE_ARGS%改成:call "%EXECUTABLE%" run %CMD_LINE_ARGS%分析原因1:jdk的环境变量没有配置好解决方法:检查jdk环境变量的配置是否正确,或者重新配置jdk的系统环境变量JDK环境变量配置的步骤如下:1.我的电脑-->属性-->高级-->环境变量.2.配置用户变量:a.新建JAVA_HOMEC:\Program Files\Java\j2sdk1.5.0(JDK的安装路径)b.新建 PATH (注意:把java的配置放在path的最前面)%JAVA_HOME%\bin;%JAVA_HOME%\jre\binc.新建CLASSPATH.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar3.测试环境变量配置是否成功:开始-->运行--〉CMD键盘敲入:JAVAC JAVA出现相应的命令,而不是出错信息,即表示配置成功!环境变量配置的理解:1. PATH环境变量。
作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。
我们需要把jdk安装目录下的bin 目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
2. CLASSPATH环境变量。
作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。
我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
3. JAVA_HOME环境变量。
它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
分析原因2:分析tomcat日志文件今天又遇到了Apache Tomcat 启动不了的问题,在myeclipse下能打开,其他情况下却打不开,症状是start之后闪了一下,然后启动界面就消失了,而Tomcat 还是没有启动.我在Apache Tomcat 的安装目录下打开logs文件夹,找到今天的日志进行分析后发现错误原因是找不到一个模块.[2007-09-11 22:40:30] [986 prunsrv.c] [error] Failed creating java D:\Program Files\jre1.6.0\bin\client\jvm.dll[2007-09-11 22:40:30] [1260 prunsrv.c] [error] ServiceStart returned 1[2007-09-11 22:40:30] [info] Run service finished.[2007-09-11 22:40:30] [info] Procrun finished.[2007-09-11 22:40:35] [info] Procrun (2.0.3.0) started[2007-09-11 22:40:35] [info] Running Service...[2007-09-11 22:40:35] [info] Starting service...[2007-09-11 22:40:35] [174 javajni.c] [error] 找不到指定的模块。
于是我把jre里的msvcr71.dll文件拷贝到C:\windows\system32下面,重新启动Tomcat 后,问题解决了.分析原因3:3、tomcat启动后报的错误总结问题描述1*严重: Error listenerStart*严重: Context [] startup failed due to previous errors在发布项目是Tomcat在项目中未找到某些文件1.检查是否把相关的jar 包也同时发布了2.检查相关class文件是否发布tomcat的JDK版本与IDE的JDK不一致.检查server.xml文件中的<context 的path=?配置是否和数据库中的path一致问题描述2*严重: IOException while loading persisted sessions: java.io.EOFException*严重: Exception unloading sessions to persistent storagejava.io.FileNotFoundException:F:\apache-tomcat-5.5.29\apache-tomcat-5.5.29\work\Catalina\localhost\host-manager\SESSIONS.ser(系统找不到指定的路径。
)*严重: Error initializing endpointng.Exception: Socket bind failed: *730048+ ?????????×???(Э?é/??????/???)????í?????Ρ?解决办法:1> stop tomcat2>盘符:/ Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost3>其中的文件夹看一遍,是否有session.ser 文件4>删除这些文件夹(搞不真的文件夹可以不删,只删除自己熟悉的,比如自己的项目,但其它文件夹中的session.ser也必须删除)5>重起tomcat6>如果还是上面的错误,再看看文件夹了是否还有session.ser 文件,不过一般都可以使用了问题描述3*报错日志:ng.reflect.InvocationTargetExceptionCaused by: ng.OutOfMemoryError: unable to create new native thread 意思内存不足,不知道tomcat能不能设定运行时占用内存大小。
或者设定有错,或者机器配置不足。
问题描述4*严重: Error initializing endpoint.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind*严重: Catalina.startLifecycleException: Protocol handler initialization failed: .SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind*严重: Error starting endpoint.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind*严重: Catalina.start:LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: .SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind你的tomcat 的8080 端口或者是80 端口被某个应用程序占用了你可以先不要链接网线或者是把tomcat的端口不要改成80端口因为浏览器默认或使用80端口问题描述5我的Tomcat在不加载到数据库的时候可以正常启动但是在配了数据库加载到Servlet去的时候再启动就出错大致的错误是:*严重: Parse Fatal Error at line 1 column 198: Invalid byte 2 of 2-byte UTF-8 sequence. org.xml.sax.SAXParseException: Invalid byte 2 of 2-byte UTF-8 sequence.应该不是编码问题,我用得数据库mysql编码是:gb2312,但是jsp中是utf-8 是可以得。
看上面得出错信息,应该是配置文件出错了,导致xml不能解析,看看你得web配置文件。
问题描述6*The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\ProgramFiles\Java\jdk1.6.0_03\bin;C:\Program Files\apache-tomcat-6.0.9\bin可能是没有设置环境变量,所以找不到编译器这只是一个信息(而非错误),表示您的路径中没有找到用于优化性能的APR (Apache Portable Runtime)文档,但多数情况下并不会影响您的项目运行,可以被忽略。
关于APR的config是在server.xml中:<Listener className="org.apache.catalina.core.AprLifecycleListener" />所以如果您的项目和别人的项目都发布在同一个Server上然后重启Server,应该都会看到这个信息。
如果Tomcat已经在运行而您发布项目之后没有重启,可能也不会看到。