我在尝试部署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
答案 0 :(得分:12)
在我的情况下设置看起来不错,但我已经将相同的webapp上传到tomcat并且没有指定
<update>true</update>
在pom.xml中的tomcat插件中,因此maven无法在现有和正在运行的webapp上添加新的webapp。
所以考虑一下。
答案 1 :(得分:6)
我添加了
<server>
<id>tomcat7</id>
<username>admin</username>
<password>admin</password>
</server>
user / .m2 / settings.xml 中的
此外,我没有更改pom.xml,tomcat-users.xml和Maven / conf / settings.xml,现在一切正常。
答案 2 :(得分:4)
<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>
这对我有用:)
环境 - &gt; Windowd 8.1 + Maven 3 + Tomcat 8.1.15 + JDK 1.8 另外,我不得不使用tomcat:redeploy
另外,通过 - &gt;更新您的maven设置首选项 - &gt; Maven-&gt;用户设置指向您的maven settings.xml文件。 在maven settings.xml中添加服务器的值(servers部分并在那里添加tomcat服务器详细信息)。在这里使用(对我来说id是TomcatServer)
有些步骤是从这里采取的: - http://kosalads.blogspot.de/2014/03/maven-deploy-war-in-tomcat-7.html
答案 3 :(得分:2)
具有manager-gui角色的用户不应被授予manager-script或manager-jmx角色。
因此,用户admin应删除角色“manager-gui”
答案 4 :(得分:2)