Tomcat部署项目时启动报错总结

合集下载

Tomcat启动失败问题(指定的主资源集[D:javaapache-tomcat-9.0.。。。

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常见的错误与解决⽅案⼩结⼀、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等解决方法

[错误]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报错【重点】【总结】

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启动,报错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启动报错: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。。。

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部署项目时启动报错总结

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变量所指定的路径中查找看是否能找到相应的命令程序。

tomcat启动失败--解决方法

tomcat启动失败--解决方法

怎么处理Server Tomcat v7.0 Server at localhost failed to start.处理方式有以下几种:1、端口被占用。

2、启动时间不够。

3、eclipse引发的问题。

一.端口被占用这种情况一般都是你的tomcat端口(默认端口8080)被占用了。

你可以通过浏览器访问(http://127.0.0.1:8080)。

若确认是因为端口被占用引起的问题后,我们就来处理该问题了。

一种方法是将被占用的端口的服务停掉,使其不备占用。

二种方法是修改tomcat的端口了,在Eclipse中双击tomcat,修改其端口号。

具体如下图所示:双击它然后修改它(我这里已经将它修改为了8089了)2.启动时间不够。

这是由于服务启动的时间相对较长,而设置的timeout时间太短而引起的问题。

你只需要将timeout 时间设置长一些就可以正常启动了。

(只需要双击Timeouts就出现如上图界面了,我将原先的45s 改为了50s)我的Exlipse就是因为这个原因。

3. eclipse引发的问题。

如果不属于前面的两种情况,那么可能是eclipse 在管理时出现的问题。

对于这种情况,我们一般通过以下四中方式来解决:一种:清理tomcat二种:移除应用并清理tomcat三种:删除server 并重建(Delete:删除;New 可以重建)四种:就是重启电脑。

总之,要逐项排查,对于这个问题:Server Tomcat v7.0 Server at localhost failed to start. 以上方法希望对你帮助!!!!!。

记一次tomcat7.0版本启动项目失败问题

记一次tomcat7.0版本启动项目失败问题

记⼀次tomcat7.0版本启动项⽬失败问题测试项⽬在tomcat7中启动失败,报错如下:@794314bc3Error during job execution (jobs.Bootstrap)Oops: VerifyError~ play.Logger.niceThrowable(Logger.java:570) ~ play ~ 35845play.exceptions.UnexpectedException: Unexpected Errorat play.Invoker$Invocation.onException(Invoker.java:244)at play.jobs.Job.onException(Job.java:124)at play.jobs.Job.call(Job.java:163)at Invocation.Job(Play!)Caused by: ng.VerifyError: Expecting a stack map frameException Details:Location:controllers/payment/PaymentBaseAction.check()V @23: nopReason:Expected stackmap frame at this location.Bytecode:0000000: b804 1c00 b801 8c9a 00121301 8e03 bd000000010: 6bb8 0190 a700 c700 b1b8 0192 b800 794b0000020: 1304 152a b804 1700 2ab6 009e 3c13 04180000030: 1bb8 041a 001b aa00 00000097000000000000040: 00000004000000220000 007f 000000850000050: 0000 008b 00000091 2a4d 014e 2c13 02a20000060: 1302 a413 02a6 b802 aac0 004f 4e2d b8000000070: 4999 003e 2a4d 033e 2c13 02ab 1302 ac130000080: 02ae b802 b0c0 0141 b602 b33e 1d99 00220000090: 2a4d 014e 2c13 02b4 1302 b513 02b7 b80200000a0: b9c0 004f 4e2d b800 22990006 b800 acb800000b0: 00af a700 1bb8 00b2 a700 15b8 00b5 a70000000c0: 0fb8 00b8 a700 09b8 00bb a700 03a7 000e00000d0: 3a06 013a 05b8 041e 1906 bf01 3a05 b80400000e0: 20b1Exception Handler Table:bci [0, 208] => handler: 208Stackmap Table:same_frame(@25)append_frame(@88,Object[#122])chop_frame(@175,1)same_frame(@181)same_frame(@187)same_frame(@193)same_frame(@199)same_frame(@205)same_locals_1_stack_item_frame(@208,Object[#978])same_frame(@219)at payment.PaymentProxy.init(PaymentProxy.java:60)at jobs.Bootstrap.initPayment(Bootstrap.java:64)at jobs.Bootstrap.doJob(Bootstrap.java:54)at play.jobs.Job.doJobWithResult(Job.java:50)at play.jobs.Job.call(Job.java:146)... 1more原因:jvm验证时出了错误:显⽰字节码错误:⽹上的解释是因为引⼊版本为51的字节码规范,使⽤了严格的类型检查器,任何⼯具修改了字节码的,都需要更新stackmap,但是jws修改了字节码,⽽没有更新 stackmap使⽤了即java的新特性,所以使⽤较⾼的版本进⾏编译时就会报这个错。

Tomcat启动失败的解决方法

Tomcat启动失败的解决方法

Tomcat启动失败的解决方法
1.JDK版本和Tomcat版本不匹配,通常原因是JDK版本过低
例如Tomcat5.5搭配JDK6.0
此种情况会出现启动Tomcat的时候,加载信息在屏幕上停留几秒就消失,Tomcat没有任何反应。

解决方法:
(1)将JDK目录下的bin文件夹中的msvcr71.dll 复制到tomcat的BIN文件夹中。

(2)系统缺少msvcr71.dll文件!
从别的电脑上cope其添加到 <windows>/system32 目录下即可!
2.JDK环境变量设置错误
常见的,例如JAVA_HOME没设置,或者设置错误, JAVA_HOME后不能含有; 否则会影响到后面classpath和path的设置
3. 8080端口被占用
Tomcat所使用的默认为8080端口,如果它被别的服务程序占用,例如oracle等,则需要另外指派端口给Tomcat
方法:打开Server.xml,找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
把其中port后的8080改为别的端口,例如8088,9090,
然后重新启动Tomcat,启动成功即可。

(4)
终止进程:Javax.exe。

tomcat报错:虚拟内存不足,启动失败;页面文件太小,无法完成操作

tomcat报错:虚拟内存不足,启动失败;页面文件太小,无法完成操作

tomcat报错:虚拟内存不足,启动失败;页面文件太小,无法
完成操作
服务器上安装了tomcat和jdk后,tomcat总是启动失败,错误日志显示:虚拟内存不足,启动失败,或者是:Error 0x800705af: 页面文件太小,无法完成操作。

后一种错误其实和前一种是一样的,只是不同的电脑系统可能显示不同。

解决办法:增大虚拟内存
步骤:
1、右键点【我的电脑】-【属性】-【高级】选项卡,
2、在【性能】栏内点【设置】-继续点【高级】选项卡,
3、在【虚拟内存】栏内点【更改】-弹出【虚拟内存】对话框,就可以设置了。

4、单选【自定义大小】,在【初始大小】里设置1024,在【最大值】里设置2048(不能超过32位操作系统的内存寻址范围——4GB)。

最后点一下【设置】可生效。

如有必要,可重启电脑。

建议将虚拟内存移动到除C盘之外的其它盘,例如D盘。

以减轻对系统盘的压力。

方法:仍在【虚拟内存】对话框,点击C盘卷标,单选【无分页大小】。

再选D盘卷标,单选【自定义大小】,设置【初始大小】和【最大值】即可。

虚拟内存最大值一般设置为物理内存的2倍。

Tomcat启动错误

Tomcat启动错误

错误;
这是因为在conf/Catalina/localhost里面有两个xml文件host-manager.xml、manager.xml,删掉他们在启动Tomcat就没问题了。
或Catalina里面其它的文件夹中也可能存在host-manager.xml,manager.xml这样的文件, 把它们都删除了就可以了.

严重: Error starting static Resources
ng.IllegalArgumentException: Document base D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/manager does not exist or is not a readable directory
再就是我们自己建立的项目删掉以后也会出现这种问题
我们就把conf/Catalina/localhost相应配置文件删掉、把conf下的server.xml及context.xml中的相关配置删掉。
严重: Error starting static Resources
ng.IllegalArgumentException: Document base D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/host-manager does not exist or is not a readable directo does not exist or is not a readable directory .
前几天重新安装了Tomcat6,安装完Tomcat6后在wepapps下面会有一些tomcat自带的项目(root、manager、host- manager等几个),这几天项目没什么用我就删掉了,后来在MyEclipse中配置好Tomcat,新建web项目,在启动Tomcat是会出现

tomcat启动失败的常见原因

tomcat启动失败的常见原因

tomcat启动失败的常见原因根据不同情况,笔者碰到过的有以下⼏种情况:1. 运⾏tomcat的启动⽂件startup.bat,弹出⿊窗⼝,直接闪退。

这种情况⼀般都是没有配置JAVA_HOME导致的,配置jdk如果没有使⽤JAVA_HOME的⽅式配置环境变量,就会出这种问题2. 启动后,停留⼀段时间,打印⼀些⽇志,然后窗⼝关闭。

这种情况⼀般是端⼝号冲突了。

由于端⼝号只会⽀持⼀个程序运⾏,如果tomcat的默认端⼝号被其他程序占⽤,就会导致冲突。

解决这种问题的⼿段分为两种,第⼀,关闭占⽤默认端⼝号的程序(不太建议),第⼆,修改tomcat使⽤的默认端⼝号。

关闭占⽤默认端⼝号的程序如果选择结束掉占⽤了默认端⼝号的程序,如何查看是哪个程序占⽤了端⼝号呢? 在cmd命令输⼊netstat -aov本地地址最右侧就是已经被使⽤的端⼝号,找到默认端⼝号8080,记下最右侧的数字(PID的值)接着打开任务管理器,找到和PID值匹配的进程,将其关闭即可(默认情况下,任务管理器不会显⽰PID,需要⼿动开启PID显⽰)修改tomcat使⽤的默认端⼝号在TomCat⽂件⽬录下找到conf⽂件下的server.xml⽂件修改上图的8080即可。

3. 运⾏tomcat后,tomcat很快就启动完成了,但是⽇志打印了⼀⼤堆严重。

这种情况,似乎是因为tomcat的权限不⾜导致的,需要提升tomcat的权限,只需要修改tomcat中的config⽂件夹的权限,将权限改成完全控制,如下图(要注意,⼀定要修改电脑当前登录⽤户下的权限,否则没⽤,在下图中的组或⽤户名中找到当前登录的⽤户。

)发⼀下,这种情况报的错误信息。

信息: Loaded APR based Apache Tomcat Native library 1.1.14.2009-5-25 7:55:48 org.apache.catalina.core.AprLifecycleListener init信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].2009-5-25 7:55:50 org.apache.coyote.http11.Http11AprProtocol init信息: Initializing Coyote HTTP/1.1 on http-80802009-5-25 7:55:50 org.apache.coyote.ajp.AjpAprProtocol init信息: Initializing Coyote AJP/1.3 on ajp-80092009-5-25 7:55:50 org.apache.catalina.startup.Catalina load信息: Initialization processed in 3594 ms2009-5-25 7:55:50 org.apache.naming.NamingContext lookup警告: Unexpected exception resolving referencejava.io.IOException: Cannot rename original file to C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf/tomcat-users.xml.old at ers.MemoryUserDatabase.save(MemoryUserDatabase.java:582)at ers.MemoryUserDatabaseFactory.getObjectInstance(MemoryUserDatabaseFactory.java:104)at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)at org.apache.naming.NamingContext.lookup(NamingContext.java:793)at org.apache.naming.NamingContext.lookup(NamingContext.java:140)at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:113)at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:137)at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:109)at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:81)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)at org.apache.catalina.core.StandardServer.start(StandardServer.java:703)at org.apache.catalina.startup.Catalina.start(Catalina.java:578)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at ng.reflect.Method.invoke(Method.java:585)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2009-5-25 7:55:50 org.apache.catalina.mbeans.GlobalResourcesLifecycleListener createMBeans严重: Exception processing Global JNDI Resourcesjavax.naming.NamingException: Cannot rename original file to C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf/tomcat-users.xml.oldat org.apache.naming.NamingContext.lookup(NamingContext.java:805)at org.apache.naming.NamingContext.lookup(NamingContext.java:140)at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:113)at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:137)at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:109)at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:81)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)at org.apache.catalina.core.StandardServer.start(StandardServer.java:703)at org.apache.catalina.startup.Catalina.start(Catalina.java:578)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at ng.reflect.Method.invoke(Method.java:585)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2009-5-25 7:55:50 org.apache.catalina.core.StandardService start信息: Starting service Catalina2009-5-25 7:55:50 org.apache.catalina.core.StandardEngine start信息: Starting Servlet Engine: Apache Tomcat/6.0.182009-5-25 7:55:50 org.apache.naming.NamingContext lookup警告: Unexpected exception resolving referencejava.io.IOException: Cannot rename original file to C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf/tomcat-users.xml.old at ers.MemoryUserDatabase.save(MemoryUserDatabase.java:582)at ers.MemoryUserDatabaseFactory.getObjectInstance(MemoryUserDatabaseFactory.java:104)at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)at org.apache.naming.NamingContext.lookup(NamingContext.java:793)at org.apache.naming.NamingContext.lookup(NamingContext.java:153)at erDatabaseRealm.start(UserDatabaseRealm.java:253)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1037)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)at org.apache.catalina.core.StandardService.start(StandardService.java:516)at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at org.apache.catalina.startup.Catalina.start(Catalina.java:578)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at ng.reflect.Method.invoke(Method.java:585)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2009-5-25 7:55:50 erDatabaseRealm start严重: Exception looking up UserDatabase under key UserDatabasejavax.naming.NamingException: Cannot rename original file to C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf/tomcat-users.xml.oldat org.apache.naming.NamingContext.lookup(NamingContext.java:805)at org.apache.naming.NamingContext.lookup(NamingContext.java:153)at erDatabaseRealm.start(UserDatabaseRealm.java:253)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1037)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)at org.apache.catalina.core.StandardService.start(StandardService.java:516)at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at org.apache.catalina.startup.Catalina.start(Catalina.java:578)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at ng.reflect.Method.invoke(Method.java:585)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2009-5-25 7:55:50 org.apache.catalina.startup.Catalina start严重: Catalina.start:LifecycleException: No UserDatabase component found under key UserDatabaseat erDatabaseRealm.start(UserDatabaseRealm.java:261)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1037)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)at org.apache.catalina.core.StandardService.start(StandardService.java:516)at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at org.apache.catalina.startup.Catalina.start(Catalina.java:578)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at ng.reflect.Method.invoke(Method.java:585)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2009-5-25 7:55:50 org.apache.catalina.startup.Catalina start信息: Server startup in 299 ms。

项目启动tomcat失败的几种可能原因和解决方法(小结)

项目启动tomcat失败的几种可能原因和解决方法(小结)

项⽬启动tomcat失败的⼏种可能原因和解决⽅法(⼩结)⽬录1、java配置路径有问题2、项⽬未添加tomcat驱动3、项⽬中的web.xml中配置的servlet的名称写错,tomcat⽆法识别4、端⼝被占⽤1、java配置路径有问题请配置好jdk路径,具体参考java路径的配置吧。

2、项⽬未添加tomcat驱动(⼀般提⽰The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path属于这⼀类)解决⽅法:保证已经装了tomcat的情况下,eclipse中选择对应项⽬右键build path ->Configure build path -> Java build path->选择Libraries ->点击右⽅Add Library... ->Server Runtime ->选择⾃⼰的tomcat服务器->Finish3、项⽬中的web.xml中配置的servlet的名称写错,tomcat⽆法识别(⼀般控制台提⽰java.util.concurrent.ExecutionException属于这种问题)解决⽅法:检查⾃⼰配置的servlet名称和路径是否正确。

4、端⼝被占⽤⼀般由于上⼀次⾮正常关闭tomcat或eclipse导致,( Port 8080 .............. is already in use)解决⽅法:①修改端⼝号(当然不建议这么做) Tomcat根⽬录/conf/Server.xml中修改,这⾥就不提了吧.....②关闭被占⽤的端⼝进程:到dos窗⼝(计算机开始⾥的查找中输⼊cmd)中输⼊netstat -ano|findstr 8080(8080是被占⽤的端⼝号,哪个被占⽤输⼊哪个)回车后可以看到有正在使⽤的进程再输⼊taskkill /pid 8080 /f (这⾥的8080是正在使⽤的进程信息中最后⼀个数字编号)回车后会显⽰已结束进程,然后重新启动tomcat即可。

Tomcat启动失败的问题排查与解决

Tomcat启动失败的问题排查与解决

Tomcat启动失败的问题排查与解决前⾔最近在某应⽤更新代码后部分机器发布失败,发布失败的机器上Tomcat⼀直没有启动成功,⽇志卡在Deploying web application,重启数次之后仍然是⼀样的情况。

所以进⾏排查问题,下⾯记录了所有的排查过程,需要的朋友们可以参考学习。

排查过程1. Tomcat启动线程卡住下⽂中Tomcat启动线程代指线程名为localhost-startStop-$id的线程。

使⽤jstack打印出Tomcat的线程堆栈:jstack `jps |grep Bootstrap |awk '{print $1}'` > jstack.log从jstack.log⾥⾯可以看到线程localhost-startStop-1处于WAITING状态,堆栈如下:"localhost-startStop-1" #26 daemon prio=5 os_prio=0 tid=0x00007fe6c8002000 nid=0x3dc1 waiting on condition [0x00007fe719c1e000]ng.Thread.State: WAITING (parking)at sun.misc.Unsafe.park(Native Method)- parking to wait for <0x00000007147be150> (a work.client.FutureResult)at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)at java.util.concurrent.FutureTask.get(FutureTask.java:191)at xxx.HeartBeatContainer.invoke(HeartBeatContainer.java:183)at xxx.HeartBeatContainer.registry(HeartBeatContainer.java:130)对应的代码如下:final ResponseFuture<XxxMessage<Result>> future = responseFutureFactory.newResponseFuture(request);channel.writeAndFlush(request);XxxMessage<Result> response = future.get();线程⼀直卡在future.get()没有返回。

tomcat下服务启动失败原因

tomcat下服务启动失败原因

tomcat下服务启动失败原因Tomcat启动成功,输⼊⽹址后可以显⽰⼩黄猫界⾯,但是在Tomcat下的服务却启动不成功,显⽰404(以Jenkins为例,运⽤多种⽅式查看原因)注:1、单启动Tomcat服务是可以启动成功的。

若满⾜以上2点⼦服务依旧不能启动成功,可使⽤如下⼏种⽅式检查1、查看webapps下的war包是否正常解压,所没有解压成功,可⼿动解压在webapps下,然后重启Tomcat即可2、查看Tomcat所⽤端⼝是否被占⽤,若是被占⽤可修改端⼝号(若是启动后背Java.exe所占⽤属于正常情况,因为启动后Tomcat会⼀直使⽤Java环境)修改端⼝⽅式:2)若是被占⽤,则在Tomcat的根(安装)⽬录下,找到conf⽂件夹,进⼊conf⽂件夹,在⾥⾯找到Server.xml⽂件3)打开Server.xml⽂件,在⽂件中找到如下⽂本并进⾏修改并保存(共需要修改3处位置),保存后重启Tomcat即可3、若是本地配置多个版本的Java环境也可影响到服务的启动(不同版本的Java环境可启动不同版本的Tomcat)1)查看JVM版本在Tomcat/bin下,双击version.bat脚本可查看详细信息,但是由于默认脚本不显⽰运⾏过程,故需要修改下DOS脚本1.打开version.bat,将⾸⾏的@echo off修改成echo on,表⽰在控制台显⽰运⾏过程2.在脚本末尾添加pause函数,表⽰脚本运⾏完之后不⾃动关闭cmd,可显⽰在桌⾯上3.修改完之后保存脚本,再次双击version.bat脚本及可查看详细信息,其中JVM Version表⽰Tomcat服务使⽤的JVM版本2)如果JDK不是想要的版本,则可在Tomcat/bin下找到setclasspath.bat脚本,⼿动修改其中的JRE路径(需要修改两处)打开setclasspath.bat脚本,找到set "JRE_HOME=%JAVA_HOME%",把%JAVA_HOME%替换成本机需要使⽤的其他安装的jre路径,如set "JRE_HOME=D:\Program Files\Java\jre1.8.0_181",然后重启即可(所使⽤的jre需配置环境变量)4、若以上三种⽅式皆没有问题,则根据Tomcat打印出的log查看具体原因1)可在命令⾏输⼊java -jar jenkins.war查看报错原因(具体报错原因可⾃⾏报错)2)查看Tomcat/logs下的catalina.log,主要是记录tomcat启动时候的信息,在⾥⾯可以看到启动的JVM参数以及操作系统等⽇志信息问题显⽰为Jenkins war包的问题。

Tomcat启动时报错,Failedtostartcomponent[StandardEn。。。

Tomcat启动时报错,Failedtostartcomponent[StandardEn。。。

Tomcat启动时报错,Failedtostartcomponent[StandardEn。

05-Dec-2016 11:23:44.321 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at ng.Thread.run(Thread.java:745)Caused by: ng.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1Enc odableVector]at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2099)at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2043)at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1989)at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1959)at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1912)at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1154)at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:298)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5076)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)... 10 more解决⽅法: 修改tomcat配置⽂件catalina.propertiestomcat.util.scan.DefaultJarScanner.jarsToSkip=\ 值后⾯加",*"。

启动tomcat时错误:代理抛出...

启动tomcat时错误:代理抛出...

启动tomcat时错误:代理抛出...⼀.问题描述 今天⼀来公司,在IntelliJ IDEA 中启动Tomcat服务器时就出现了如下图所⽰的错误: 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is:.BindException: Address already in use: JVM_Bind 这⾥说的是1099端⼝被其它进程占⽤了.⼆.解决办法 找出占⽤1099端⼝的进程,进⼊windows命令,查看什么进程占⽤了1099端⼝ 使⽤命令:netstat -aon|findstr 1099 找出占⽤1099端⼝的进程,如下图所⽰: 然后关闭占⽤该端⼝的进程:taskkill -f -pid 3756 这样就可以正常启动Tomcat了.问题顺利解决了。

下⾯是⼩编遇到的Linux下tomcat启动报错:portalreadyinuse的⼀问题,给⼤家分享下解决办法。

导致该问题的原因很多,标题说明不了具体问题。

在此仅说下我的操作,遇到的问题及其解决⽅法,希望能起到抛砖引⽟的作⽤。

启动tomcat,报错如下:Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 7800; nested exception is: .BindException: Address already in use检查了${TOMCAT_HOME}/conf/server.xml,context.xml,web.xml等配置⽂件,未发现配置7800端⼝的地⽅。

于是从 ${TOMCAT_HOME}/bin/catalina.sh 启动⽂件中找到了答案。

JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.pwd.file=/opt/app/appcode/jmxremote.password -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=7803"分析了⼀下,因为tomcat不是由我配置,本⼈仅维护⽽已,从⽽不能全部掌握安装⼈员的配置精髓。

tomcat启动报错:org.springframework.beans.factory.。。。

tomcat启动报错:org.springframework.beans.factory.。。。

tomcat启动报错:org.springframework.beans.factory.。

Web容器在启动时加载 spring 配置⽂件时解析xml失败常常引起容器启动失败。

这次配置⽂件是 ibatis的sql脚本出了问题:Context initialization failedorg.springframework. beans.factory. BeanCreationException:Error creating bean with name 'wlfDao' defined in file [applicationContext-wlf.xml]: Cannot resolve reference to bean 'sqlMapClient' while settling bean property 'sqlMapClient'; nested exception isorg.springframework. beans.factory. BeanCreationException: Error creating bean with name 'sqlMapClient' defined in class path resource [applicationContext-datasource.xml]: Invocation of method failed; nested exception is ng.RuntimeException: Error occurred. Cause: com.ibatis. comm. xml.NodeletException:Error parsing XML. Cause: ng.RuntimeException: Error parsing XPath'/sqlMapConfig/sqlMap'. Cause: com.ibatis. comm. xml.NodeletException: Error parsing XML. Cause: ng.RuntimeException: Error parsing XPath '/sqlMap/insert'. Cause: jave.util.NoSuchElementException... 报错信息太多,就不⼀⼀贴出来了,⽽且错误信息没有把错误的根源显⽰出来,最终定位是另⼀个⽂件wlfSync.xml⾥的insert脚本中参数name少写了⼀个#:<insert id='insert' parameterClass='wlfBean'>insert into t_wlf_task values (#objectid#,#name,#ruleid#)<insert> 把name后边的#还给它,启动正常。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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已经在运行而您发布项目之后没有重启,可能也不会看到。

相关文档
最新文档