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

问题描述 投票:14回答:5

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

java maven tomcat jenkins tomcat7
5个回答
11
投票

在我的情况下设置看起来没问题,但我已经将相同的webapp上传到tomcat并且没有指定

<update>true</update>

在pom.xml中的tomcat插件中,maven无法在现有和运行的webapp上上传新的webapp。

所以考虑一下。


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,现在一切正常。


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>

这对我有用:)

环境 - > 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


2
投票

具有manager-gui角色的用户不应被授予manager-script或manager-jmx角色。

所以,用户admin应删除角色“manager-gui”


2
投票
mvn tomcat7:redeploy

试试这个,因为documentation建议:

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

© www.soinside.com 2019 - 2024. All rights reserved.