[错误]TOMCAT启动报错Socket bind failed等解决方法

合集下载

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⽂件所有上传图⽚⽬录都需要写权限。

socket异常解决方案

socket异常解决方案

socket异常解决方案
《Socket异常解决方案》
在开发网络应用程序时,我们经常会遇到socket异常的问题。

socket异常可能会导致网络连接失败,数据传输中断,甚至导
致程序崩溃。

在面对这些问题时,我们需要及时解决并找出根本原因。

首先,我们需要了解造成socket异常的可能原因。

常见的原
因包括网络连接问题,服务器故障,数据包丢失等。

在了解了可能的原因后,就需要针对性地解决这些问题。

解决socket异常的方案可能包括以下几点:
1. 检查网络连接:确认网络连接是否正常,尝试其他网络环境,比如切换到4G网络或者使用VPN连接。

如果网络连接出现
问题,可能是导致socket异常的原因之一。

2. 重启服务器:如果是服务器端出现了问题,可以尝试重启服务器或者联系服务器管理员进行排查。

3. 检查数据包:数据包丢失可能会导致socket异常,对于这
种情况,我们可以使用数据包监控工具来检查数据传输情况,找出问题所在。

4. 异常处理:在程序中加入异常处理机制是很重要的,比如捕获socket异常并进行相应的处理,比如重新连接,重传数据
等。

5. 更新软件版本:有时socket异常可能是由于软件版本过低或者存在bug所致,及时更新软件版本可能解决这些问题。

总之,解决socket异常需要综合考虑网络环境、服务器端和客户端的问题,及时采取合理的措施来解决和避免出现异常情况。

希望上述的解决方案能帮助大家更好地解决socket异常的问题。

解决SpringBootwebSocket资源无法加载、tomcat启动报错的问题

解决SpringBootwebSocket资源无法加载、tomcat启动报错的问题

解决SpringBootwebSocket资源⽆法加载、tomcat启动报错的问题⽬录问题描述:解决⽅法⼀:(常规解决、不推荐)解决⽅法⼆:(推荐)总结:问题描述:1. 项⽬集成WebSocket,且打包发布tomcat时出现websocket is already in CLOSING or CLOSE state这样的问题,建议参考“解决⽅法⼆”,但是“解决⽅法⼀”请要了解查看 ,因为解决⽅法⼆是在⼀的基础上进⾏更正2. 如果出现javax.websocket.server.ServerContainer not available这样的错误,请参考“解决⽅法⼀”中步骤3解决⽅法⼀:(常规解决、不推荐)步骤1:在BootApplication中修改:public static void main(String[] args) {SpringApplication springApplication = new SpringApplication(BootApplication.class);springApplication.addListeners(new ApplicationPidFileWriter());ConfigurableApplicationContext applicationContext = springApplication.run(args);WebSocketServer.setApplicationContext(applicationContext);注:这⾥的WebSocketServer是指你⾃定义的websocket接受消息的服务类步骤2:修改WebSocketServerprivate static ManageUserMapper manageUserMapper;public static void setApplicationContext(ConfigurableApplicationContext applicationContext) {WebSocketServer.manageUserMapper = applicationContext.getBean(ManageUserMapper.class);}步骤3: 修改pom.xml由于我们在开发过程中,如果按照以上步骤1、2进⾏修改,⼀般不会出现问题,但是如果我们打包发布tomcat,就会出现:javax.websocket.server.ServerContainer not available这样的错误,步骤3为常规解决⼀下问题⽅式<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 去除内嵌tomcat --><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency>需要去除web-starter的tomcat,因为如果不去除会导致冲突,如果出现这种问题,你还需要在websocketConfig中做如下修改:(websocket为⾃定义配置类)/*** 服务器节点** 如果使⽤独⽴的servlet容器,⽽不是直接使⽤springboot的内置容器,就不要注⼊ServerEndpointExporter,因为它将由容器⾃⼰提供和管理* @return*/@Bean@Profile("dev")public ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}在application.properties做如下配置##prod:⽣产环境 dev:开发环境(WINDOWS)spring.profiles.active=dev这⾥加⼊了@Profile("dev") 这个注解。

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

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

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 FilesJavaj2sdk1.5.0(JDK的安装路径)b.新建 PATH(注意:把java的配置放在path的最前面)%JAVA_HOME%bin;%JAVA_HOME%jrebinc.新建 CLASSPATH.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar3.测试环境变量配置是否成功:开始-->运行--〉CMD键盘敲入: JAVAC JAVA出现相应的命令,而不是出错信息,即表示配置成功!环境变量配置的理解:1.PATH环境变量。

作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。

Tomcat服务无法启动的问题的解决方法

Tomcat服务无法启动的问题的解决方法

Tomcat服务⽆法启动的问题的解决⽅法去年下半年公司就决定投⼊⼈⼒物⼒"跟风"做⼤数据⽅向的研究并应⽤到后续项⽬中,于是乎,我们也得熟悉下Java才⾏了。

先弄个JavaEE的开发环境再说吧。

装JDK、JRE,其实JDK下⾯已经有JRE了,如果在服务器上的话,只需装JRE;然后配置环境变量:新建:JAVA_HOME:D:\Java\jdk1.7.0_51新建:CLASS_PATH:.;%JAVA_HOME%\lib编辑:PATH:在最前⾯加上 %JAVA_HOME%\bin; 接着装Tomcat,startup.bat、shutdown.bat都正常,然后想把压缩版的Tomcat的启动和关闭做成Windows服务来处理,执⾏service.bat install提⽰服务创建成功,但是启动服务却失败了,系统⽇志提⽰:我之前台式机上的Windows 2003系统没啥问题,怎么到了现在这Win7系统的⼩本上就这样了呢?先分析下,既然可以正常调⽤service.bat,也就是环境变量的配置是没有问题的,对⽐下2个操作系统,似乎⽬前最有可能的就是安装时候的权限问题。

先卸载掉已经安装过的服务service.bat remove,然后"以管理员⾝份运⾏" cmd.exe,切换到service.bat所在的⽬录执⾏service.bat install重新安装Tomcat服务。

HoHo,这下可以正常启动和关闭了。

因为是开发环境,所以我们可以配置⼀个超级⽤户admin ,使其能够通过"http://localhost:8080/"来管理Tomcat。

进⼊Tomcat根⽬录下的conf⽂件夹,打开"tomcat-users.xml"进⾏编辑:复制代码代码如下:<tomcat-users><user username="admin" password="admin" roles="manager-gui,admin-gui"/></tomcat-users>重启Tomcat后,就可以使⽤admin来管理Tomcat了。

tomcat常见错误与解决方法

tomcat常见错误与解决方法

上海纽斯达科技tomcat常见错误与解决方法上海纽斯达科技有限公司2014-10-25文档状态目的:在tomcat 服务器出现故障时,能快速定位并解决相关错误。

保密:本文档仅供内部使用,请勿外传概述:tomcat 常见错误与问题之解决方法技术指南。

安装环境:系统环境:redhat enterprise 6.5 64bit文件状态:【 】草稿【 】修改稿 【√】正式发布 文档编号 Nsdkj-779 保 密 等 级 限制 作 者 刘恒亮 最后完成日期 2014-12-25 审 核 人最后审核日期 2014-12-25 批 准 人最后批准日期 2014-12-25注释:Q代表问题,A代表错误解决办法Q:在以tomcat用户启动tomcat时提示:The JAVA_HOME environment variable is not defined This environment variable is needed to run this programA:没有在在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/li b/dt.jarexport CLASSPATHQ: 在以tomcat用户登录linux系统后,提示:-bash: /home/tomcat/j2sdk1.4.2_08: is a directory-bash:/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.ja r:没有那个文件或目录。

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. 以上方法希望对你帮助!!!!!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[错误]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)at
org.apache.coyote.http11.Http11AprProtocol.start(Http11AprPro tocol.java:151)at
org.apache.catalina.connector.Connector.start(Connector.java:11 32)at
org.apache.catalina.core.StandardService.start(StandardService.j ava:531)at
org.apache.catalina.core.StandardServer.start(StandardServer.jav a:710)at
org.apache.catalina.startup.Catalina.start(Catalina.java:566)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodA
ccessorImpl.java:39)at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegating MethodAccessorImpl.java:25)at
ng.reflect.Method.invoke(Method.java:597)at
org.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] ?????????×???(Э?é/???????/???)????í??at
org.apache.catalina.connector.Connector.start(Connector.java:11 39)at
org.apache.catalina.core.StandardService.start(StandardService.j ava:531)at
org.apache.catalina.core.StandardServer.start(StandardServer.jav a:710)at
org.apache.catalina.startup.Catalina.start(Catalina.java:566)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodA ccessorImpl.java:39)at
MethodAccessorImpl.java:25)at
ng.reflect.Method.invoke(Method.java:597)at
org.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:46
org.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.&lt;init&gt;(ServerSocket.java:185)at org.apache.catalina.core.StandardServer.await(StandardServer.ja va:373)at
org.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)at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodA ccessorImpl.java:39)at
MethodAccessorImpl.java:25)at
ng.reflect.Method.invoke(Method.java:597)at
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)问题分析:肯定是本机的端口被占用了导致启动失败解决方法:打开tomcat目录下conf目录下的server.xml文件修改红色的端口值&lt;Server port="8005"
shutdown="SHUTDOWN"&gt; &lt;Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /&gt; &lt;Connector port="8081" protocol="AJP/1.3" redirectPort="8443" /&gt; 如可以改成
&lt;Server port="8885" shutdown="SHUTDOWN"&gt;
&lt;Connector port="8886" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" /&gt; &lt;Connector port="8887" protocol="AJP/1.3" redirectPort="8443" /&gt; 访问tomcat的时候用localhost:8886访问即可。

相关文档
最新文档