我在尝试部署Java应用程序时遇到问题。
Cannot invoke Tomcat manager: Connection reset by peer: socket write error
要么
Cannot invoke Tomcat manager: Software caused connection abort: socket write error
在pom.xml中我有这个:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8085/manager/html</url>
<server>tomcat7</server>
<path>/java_web</path>
<username>admin</username>
<password>admin</password>
</configuration>
</plugin>
在tomcat-users.xml中我有这个:
<tomcat-users>
<role rolename="admin"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<user username="admin" password="admin" roles="manager-gui,admin,manager-jmx,manager-script" />
</tomcat-users>
同样在Maven / conf / settings.xml中我有:
<server>
<id>tomcat7</id>
<username>admin</username>
<password>admin</password>
</server>
当我想去的时候
http://localhost:8085/manager/html/deploy?path=%2Fjava_web&update=true
并输入用户名和密码(admin admin)我有错误:
403 Access Denied
You are not authorized to view this page.
但是我输入了tomcat-users.xml,用户admin拥有manager-gui角色。我正在使用Tomcat 7.0.56和Jenkins。还使用命令:clean和tomcat7-redeploy。需要帮助来理解错误:C
在我的情况下设置看起来没问题,但我已经将相同的webapp上传到tomcat并且没有指定
<update>true</update>
在pom.xml中的tomcat插件中,maven无法在现有和运行的webapp上上传新的webapp。
所以考虑一下。
我补充道
<server>
<id>tomcat7</id>
<username>admin</username>
<password>admin</password>
</server>
在user / .m2 / settings.xml中
此外,我没有更改pom.xml,tomcat-users.xml和Maven / conf / settings.xml,现在一切正常。
<plugin>
<!-- tomcat deploy plugin -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<username>XXXX</username>
<password>XXXX</password>
<path>/XXXX</path>
</configuration>
</plugin>
这对我有用:)
环境 - > Windows 8.1 + Maven3 + Tomcat 8.1.15 + JDK 1.8另外,我不得不使用tomcat:redeploy
另外,通过 - > Preferences-> Maven-> User Settings更新你的maven设置,指向你的maven settings.xml文件。在maven settings.xml中添加服务器的值(servers部分并在那里添加tomcat服务器详细信息)。在这里使用(对我来说id是TomcatServer)
一些步骤来自这里: - http://kosalads.blogspot.de/2014/03/maven-deploy-war-in-tomcat-7.html
具有manager-gui角色的用户不应被授予manager-script或manager-jmx角色。
所以,用户admin应删除角色“manager-gui”