Tomcat 7:通过对等或软件重置连接导致连接中止

时间:2014-10-14 08:52:17

标签: java maven tomcat jenkins tomcat7

我在尝试部署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

5 个答案:

答案 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)

mvn tomcat7:redeploy

尝试documentation建议:

  

(部署目标的别名,其update参数设置为true。)