我尝试将应用程序部署到tomcat7服务器时出错

Kle*_*ota 17 deployment maven tomcat7

我正在尝试通过eclipse luna将web应用程序部署到tomcat7,但我收到此错误:

Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja

[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja

[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja

[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.936 s
[INFO] Finished at: 2014-08-15T22:10:04-03:00
[INFO] Final Memory: 13M/112M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy (default-cli) on project loja: Cannot invoke Tomcat manager: Connection reset -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Run Code Online (Sandbox Code Playgroud)

我也尝试部署到tomcat8,但我得到同样的错误.

在我的pom.xml中,我有与此操作相关的配置:

  <build>
    <finalName>loja</finalName>
    <plugins>
        <plugin>
           <groupId>org.apache.tomcat.maven</groupId>
           <artifactId>tomcat7-maven-plugin</artifactId>
           <version>2.2</version>
           <configuration>
                <url>http://localhost:8080/manager/text</url>
                <server>TomcatServer</server>
                <path>/loja</path>
                <username>user001</username>
                <password>123</password>
           </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

谁知道这里发生了什么?

UPDATE

我尝试使用命令部署应用程序,mvn:tomcat7 deploy -X输出是:

[INFO] Retrying request
[DEBUG] Reopening the direct connection.
[DEBUG] Connecting to localhost:8080
[DEBUG] Attempt 4 to execute request
[DEBUG] Sending request: PUT /manager/text/deploy?path=%2Floja HTTP/1.1
[DEBUG]  >> "PUT /manager/text/deploy?path=%2Floja HTTP/1.1[\r][\n]"
[DEBUG]  >> "User-Agent: Apache Tomcat Maven Plugin/2.2[\r][\n]"
[DEBUG]  >> "Content-Length: 18783041[\r][\n]"
[DEBUG]  >> "Host: localhost:8080[\r][\n]"
[DEBUG]  >> "Connection: Keep-Alive[\r][\n]"
[DEBUG]  >> "Authorization: Basic dXNlcjAwMToxMjM=[\r][\n]"
[DEBUG]  >> "[\r][\n]"
[DEBUG] >> PUT /manager/text/deploy?path=%2Floja HTTP/1.1
[DEBUG] >> User-Agent: Apache Tomcat Maven Plugin/2.2
[DEBUG] >> Content-Length: 18783041
[DEBUG] >> Host: localhost:8080
[DEBUG] >> Connection: Keep-Alive
[DEBUG] >> Authorization: Basic dXNlcjAwMToxMjM=
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja
...
[DEBUG] Connection 0.0.0.0:53183<->127.0.0.1:8080 closed
[DEBUG] Closing the connection.
[DEBUG] Connection 0.0.0.0:53183<->127.0.0.1:8080 closed
[DEBUG] Connection 0.0.0.0:53183<->127.0.0.1:8080 shut down
[DEBUG] Connection 0.0.0.0:53183<->127.0.0.1:8080 closed
[DEBUG] Connection released: [id: 0][route: {}->http://localhost:8080][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 5]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.271 s
[INFO] Finished at: 2014-08-16T08:11:09-03:00
[DEBUG] Connection manager is shutting down
[INFO] Final Memory: 14M/109M
[INFO] ------------------------------------------------------------------------
[DEBUG] Connection manager shut down
Run Code Online (Sandbox Code Playgroud)

law*_*low 16

好吧,我和tomcat7有同样的问题.

[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2iplover

[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2iplover

[INFO] I/O exception (java.net.SocketException) caught when processing request:         Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2iplover
Run Code Online (Sandbox Code Playgroud)

我无法使用它

mvn tomcat7:redeploy 
Run Code Online (Sandbox Code Playgroud)

这里提到的.

我的WAR不是很大,只有4MB.

这是根本问题和解决方案

tomcat-users.xml拥有正确的角色设置非常重要.我只有角色manager设置.添加manager-script似乎很重要,完全解决了我的问题.

<role rolename="manager"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager,manager-gui,manager-script"/>
Run Code Online (Sandbox Code Playgroud)


小智 12

我不知道是否有人解决了这个问题.我在我的案例中找到了一种解决方法:使用redeploy而不是部署工作正常.

问题可能与内存问题或读/写访问有关吗?


wir*_*d00 12

尝试增加WARmax-file-size在tomcat内max-request-size

要修复,编辑web.xml.确保文件大小大于.../webapps/manager/WEB-INF/web.xml您尝试上传的文件.也就是说,

  <max-file-size>82914560</max-file-size>
  <max-request-size>82914560</max-request-size>
Run Code Online (Sandbox Code Playgroud)

然后重启apache tomcat.


小智 10

你的战争规模是多少?也许是因为尺寸太大了.默认情况下,tomcat管理器只允许小于50MB的大小战争.也尝试mvn tomcat7:重新部署而不是部署.

请参阅此处如何增加战争大小限制


cle*_*erz 7

我遇到了同样的问题,并通过运行maven目标解决了这个问题

tomcat7:重新部署

代替

tomcat7:部署

它适用于tomcat7和tomcat8,我的war文件总是低于50mb.