Tomcat部署项目时启动报错总结
Tomcat启动失败问题(指定的主资源集[D:javaapache-tomcat-9.0.。。。

Tomcat启动失败问题(指定的主资源集[D:javaapache-tomcat-9.0.。
警告: 部署描述符[D:\java\apache-tomcat-9.0.35\conf\Catalina\localhost\AppManageSystem.xml]中值为[/AppManageSystem]的路径属性已被忽略九⽉ 15, 2020 1:53:37 下午 org.apache.catalina.startup.HostConfig deployDescriptor警告: (:在主机appBase 中指定了docBase [D:\java\apache-tomcat-9.0.35\webapps\AppInfoSystem],将被忽略九⽉ 15, 2020 1:53:37 下午 org.apache.catalina.startup.HostConfig deployDescriptor严重: 部署描述符[D:\java\apache-tomcat-9.0.35\conf\Catalina\localhost\AppManageSystem.xml]时出错ng.IllegalStateException: 启动⼦级时出错at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1830)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.startup.Catalina.start(Catalina.java:633)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at ng.reflect.Method.invoke(Method.java:498)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)Caused by: org.apache.catalina.LifecycleException: ⽆法启动组件[org.apache.catalina.webresources.StandardRoot@57a3e26a]at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4800)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4936)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)... 37 moreCaused by: ng.IllegalArgumentException: 指定的主资源集 [D:\java\apache-tomcat-9.0.35\webapps\AppManageSystem] ⽆效at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:751)at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:708)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)... 41 more九⽉ 15, 2020 1:53:37 下午 org.apache.catalina.startup.HostConfig deployDescriptor信息: 部署描述符[D:\java\apache-tomcat-9.0.35\conf\Catalina\localhost\AppManageSystem.xml]的部署已在[78]ms内完成九⽉ 15, 2020 1:53:37 下午 org.apache.catalina.startup.HostConfig deployDirectory信息: 把web 应⽤程序部署到⽬录 [D:\java\apache-tomcat-9.0.35\webapps\AppInfoSystem]解决:删除配置记录即可1.找到tomcat所在路径,删除webapps下对应的项⽬。
tomcat常见的错误与解决方案小结

tomcat常见的错误与解决⽅案⼩结⼀、tomcat启动时错误问题1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;解决:没有在tomcat的配置⽂件.bash_profile中设置环境变量JAVA_HOME,具体设置⽅法为:加⼊如下⼏⾏:JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jarexport CLASSPATH问题2:Error occurred during initialization of VM Could not reserve enough space for object heap解决:在tomcat的bin⽬录下,catalina.sh⽂件的tomcat内存参数配置过⼤,超过机器可⽤内存总数造成,修改到适当的值即可,修改的参数为:JAVA_OPTS="-Xms50m -Xmx60m"问题3:tomcat启动时报某个⽬录没有权限,启动失败,或者不能执⾏某些jsp页解决:tomcat需要tomcat⽤户具有⼀些⽬录和⽂件的相应权限, 所有⽬录应该具有读写执⾏(浏览)的权限,jsp,class⽂件应该最少具有读权限, ⼀些⽂件需要写权限,下⾯是已知的需要读写权限⽂件的列表:$CATALINA_HOME/logs下所有⽂件$CATALINA_HOME/work下所有⽂件$CATALINA_HOME/publish/main/count.txt⽂件$CATALINA_HOME/publish/chatroom/resource下的所有.xml⽂件所有上传图⽚⽬录都需要写权限。
[错误]TOMCAT启动报错Socket bind failed等解决方法
![[错误]TOMCAT启动报错Socket bind failed等解决方法](https://img.taocdn.com/s3/m/73a517380722192e4536f6d7.png)
[错误]TOMCAT启动报错Socket bind failed等解决方法应该是你的要监听的端口被占用了。
在命令行(cmd)下运行netstat -anb 看看启动的时候报错内容严重: Error starting ng.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??at .AprEndpoint.init(AprEndpoint.java:6 12)at.AprEndpoint.start(AprEndpoint.java: 717)atorg.apache.coyote.http11.Http11AprProtocol.start(Http11AprPro tocol.java:151)atorg.apache.catalina.connector.Connector.start(Connector.java:11 32)atorg.apache.catalina.core.StandardService.start(StandardService.j ava:531)atorg.apache.catalina.core.StandardServer.start(StandardServer.jav a:710)atorg.apache.catalina.startup.Catalina.start(Catalina.java:566)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(Delegating MethodAccessorImpl.java:25)atng.reflect.Method.invoke(Method.java:597)atorg.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2 007-10-23 0:00:46 org.apache.catalina.startup.Catalina start严重: Catalina.start: LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: ng.Exception: Socket bind failed:[730048] ?????????×???(Э?é/???????/???)????í??atorg.apache.catalina.connector.Connector.start(Connector.java:11 39)atorg.apache.catalina.core.StandardService.start(StandardService.j ava:531)atorg.apache.catalina.core.StandardServer.start(StandardServer.jav a:710)atorg.apache.catalina.startup.Catalina.start(Catalina.java:566)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodA ccessorImpl.java:39)atMethodAccessorImpl.java:25)atng.reflect.Method.invoke(Method.java:597)atorg.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2 007-10-23 0:00:46 org.apache.catalina.startup.Catalina start信息: Server startup in 42750 ms2007-10-23 0:00:46org.apache.catalina.core.StandardServer await严重: StandardServer.await: create[8005]: .BindException: Address already in use: JVM_Bindat.PlainSocketImpl.socketBind(Native Method)at.PlainSocketImpl.bind(PlainSocketImpl.java:359)at .ServerSocket.bind(ServerSocket.java:319)at.ServerSocket.<init>(ServerSocket.java:185)at org.apache.catalina.core.StandardServer.await(StandardServer.ja va:373)atorg.apache.catalina.startup.Catalina.await(Catalina.java:630)at org.apache.catalina.startup.Catalina.start(Catalina.java:590)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodA ccessorImpl.java:39)atMethodAccessorImpl.java:25)atng.reflect.Method.invoke(Method.java:597)atorg.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)问题分析:肯定是本机的端口被占用了导致启动失败解决方法:打开tomcat目录下conf目录下的server.xml文件修改红色的端口值<Server port="8005"shutdown="SHUTDOWN"> <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /> <Connector port="8081" protocol="AJP/1.3" redirectPort="8443" /> 如可以改成<Server port="8885" shutdown="SHUTDOWN"><Connector port="8886" protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443" /> <Connector port="8887" protocol="AJP/1.3" redirectPort="8443" /> 访问tomcat的时候用localhost:8886访问即可。
tomcat报错【重点】【总结】

tomcat报错【重点】【总结】eclipse tomcat May be locked by another process这种错误的原因⼀般是由于在tomcat部署的环境下,之前的web项⽬没有清理⼲净。
例如:关闭eclipse时没有关闭运⾏中的tomcat,直接退出了eclipse,这就导致部署的⽂件残留。
可以使⽤not publish⽅式部署,即热部署。
tomcat启动时报:IOException while loading persisted sessions: java.io.EOFException错误代码如下:严重: IOException while loading persisted sessions: java.io.EOFExceptionjava.io.EOFExceptionat java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2794)at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:226)at org.apache.catalina.session.StandardManager.load(StandardManager.java:183)at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:473)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5293)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:698)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1119)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1760)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)at java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at ng.Thread.run(Thread.java:744)⼀⽉ 02, 2014 2:38:27 下午 org.apache.catalina.session.StandardManager startInternal严重: Exception loading sessions from persistent storagejava.io.EOFExceptionat java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2794)at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:226)at org.apache.catalina.session.StandardManager.load(StandardManager.java:183)at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:473)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5293)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:698)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1119)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1760)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)at java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at ng.Thread.run(Thread.java:744)⼀⽉ 02, 2014 2:38:27 下午 org.apache.catalina.startup.HostConfig deployDirectory错误的原因是:EOFException表⽰输⼊过程中意外地到达⽂件尾或流尾的信号,导致从session中获取数据失败。
Tomcat启动,报错CantloadIA32-bit.dllonaAMD64-bitpl。。。

Tomcat启动,报错CantloadIA32-bit.dllonaAMD64-bitpl。
最近公司要开发新项⽬,开发经理整了个框架扔给我,让我跑跑看,于是就遇到问题了。
Tomcat启动,报错Can't load IA 32-bit .dll on a AMD 64-bit platform。
在⽹上百度了这个问题,说是jdk版本与tomcat版本不匹配,需要将tomcat的bin⽬录下的tcnative-1.dll换成64位的就可以,于是从E盘tomcat⾥拷贝了个,然后项⽬启动没报错了。
虽然变相解决了问题,但我⼼中的疑惑并没有解开。
明明给项⽬配的是E盘⾥的tomcat,那么怎么会去启动C盘⾥tomcat的配置⽂件呢?解决办法是有了,为了检测是哪⾥的问题,我⼜把⽂件换回去。
我⼜去看了项⽬⾥的配置然后开始检查系统环境变量,我发现这⾥配的是C盘的,好的,真相只有⼀个,肯定是这⾥的问题。
于是改成E盘的。
确定⼀定以及肯定,没有其他地⽅还能改的了,这下应该没有问题了。
嗯,静静按下启动键。
!惊了,控制台⼜报错!思前想后,感觉没有什么不对呀。
我想会不会是没有重新打包的缘故,于是重新打包,终于可以了!总结:⾸先、下载⼀个版本与jdk版本对应的tomcat,然后配置tomcat的环境变量,最后正常部署项⽬到tomcat启动即可。
顺带吐槽⼀下,公司好多个项⽬⽤的tomcat和jdk版本都不⼀样,有时候换个项⽬开发,就要修改环境变量,偶尔也会忘记。
最后有个问题:如果不更换tomcat环境变量(环境变量与项⽬配置的tomcat不是同⼀个),每次只修改tcnative-1.dll的版本,项⽬跑动起来也不会出错,对今后开发是否会有看不见的影响?。
tomcat启动报错:Addressalreadyinuse:JVM_Bind

tomcat启动报错:Addressalreadyinuse:JVM_Bind
tomcat启动时出现Address already in use: JVM_Bind 的原因是因为端⼝被占⽤,有可能是因为多次启动tomcat或者启动了多个tomcat,或者是其他应⽤程序或者服务占⽤了。
错误⽇志如下:
严重: StandardServer.await: create[8080]:
.BindException: Address already in use: JVM_Bind
解决办法:
1、打开cmd,输⼊netstat -ano,查看所有端⼝的占⽤情况,找到被占⽤端⼝8080的PID是4196
2、输⼊tasklist|findstr "4196",回车,查看是哪个进程或者程序占⽤了8080端⼝,结果是:javaw.exe
3、打开任务管理器关闭进程就可以了,但是有时候会遇到这样的问题,同名进程太多不知道是哪个?
4、打开任务管理器的查看->选择列,√PID,点击确定,就可以找到那个进程占⽤了端⼝,结束进程即可。
tomcat启动报错:NeithertheJAVA_HOMEnortheJRE_HOMEe。。。

tomcat启动报错:NeithertheJAVA_HOMEnortheJRE_HOMEe。
windows系统:部署了⼀个Tomcat8.5.15,bin⽬录下startup.bat执⾏,结果提⽰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。
解决⽅式:在setclasspath.bat的开头声明环境变量。
如图所⽰:先看Tomcat的startup.bat,它调⽤了catalina.bat,⽽catalina.bat则调⽤了setclasspath.bat。
只要在setclasspath.bat的开头声明环境变量,如我的就是:rem ---------------------------------------------------------------------------rem Set CLASSPATH and Java optionsremrem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $rem ---------------------------------------------------------------------------set JAVA_HOME=E:\Java\jdk1.8.0_151set JRE_HOME=E:\Java\jre8rem Make sure prerequisite environment variables are setif not "%JAVA_HOME%" == "" goto gotJdkHomeif not "%JRE_HOME%" == "" goto gotJreHomeecho Neither the JAVA_HOME nor the JRE_HOME environment variable is definedecho At least one of these environment variable is needed to run this programgoto exit......这样在每次运⾏startup.bat时就注册了JAVA_HOME,JRE_HOME。
Tomcat部署项目时启动报错总结

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变量所指定的路径中查找看是否能找到相应的命令程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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已经在运行而您发布项目之后没有重启,可能也不会看到。