maven 部署war包到tomcat 报错 Cannot invoke Tomcat manager: xxxxxx

当使用Maven尝试部署WAR包到Tomcat时,可能会遇到'Cannot invoke Tomcat manager'的错误,如'socket write error'或'Connection reset by peer'。此问题通常由于manager应用缺失或配置不正确导致。解决办法是将新的Tomcat安装中的manager应用放入webapps目录下,以确保部署过程能够正常进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在maven的web项目里面,会用到tomcat的maven plugin进行部署,却经常会出现

Cannot invoke Tomcat manager: Software caused connection abort: socket write error
或者
Cannot invoke Tomcat manager: Connection reset by peer: socket write error
也或者
Cannot invoke Tomcat manager: xxxxxxxxxxx

为什么会这样

首先我先贴出我的配置信息

首先去配置tomcat的conf目录下的tomcat-user.xml

<role rolename="manager-gui"/>  
    <role rolename="manager-script"/>   
    <user username="admin" password="123456" roles="manager-gui,manager-script" />


然后是maven 的setting,xml 配置

    <server>
       <id>tomcat7</id>
       <username>admin</username>  <!-- tomcat-user.xml 中的username-->
       <password>123456</password> <!-- tomcat-user.xml 中的password-->
    </server>

最后是web项目的pom文件下的plugin

<!-- Tomcat 自动部署 plugin -->
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<port>8080</port>  <!-- 项目的端口-->
					<path>/OvertimeReport</path> <!-- web项目的项目名称-->
					<uriEncoding>UTF-8</uriEncoding> 
					<url>http://localhost:8080/manager/text</url> <!-- 对应的 tomcat manager的接口-->
					<server>tomcat7</server>  <!-- setting.xml 的server id-->
					<username>admin</username> <!-- tomcat-user.xml 的 username -->
					<password>123456</password> <!-- tomcat-user,xml 的 password -->
				</configuration>
			</plugin>


上面的配置我已经确认过无数遍,没有问题了,换了tomcat7也换了tomcat8也还是出现上文提到的异常



然后我去查看了一下tomcat 的logs下的日志文件发现他报了这么的一个错误


404? 原来maven是通过这个/manager/text/deploy的方法获取maven上传过来的web项目,然后在部署的
那么我查了一下,在tomcat下载完解压之后还真的有一个项目叫manager的初始项目

相信很多人在初学tomcat的时候,老师都跟他们说

webapps目录下的文件全部删掉,然后在放你的项目,踩坑了

那么很简单只需要把manager项目从新放到webapps下,他就不会报上文中我说的错误

manager项目哪里来,很简单,自己下载一个新的tomcat解压出来,在他的webapps目录下就有,复制过去就可以了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值