可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am trying deploy a web application to tomcat7 via eclipse luna, but I am getting this error:
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
I also try deploy to tomcat8, but I get this same error.
In my pom.xml, I have this configuration related to this operation:
lojaorg.apache.tomcat.maventomcat7-maven-plugin2.2http://localhost:8080/manager/textTomcatServer/lojauser001123org.apache.maven.pluginsmaven-war-pluginfalse
Anyone knows what's happening here?
UPDATE
I try deploy the application with the command mvn:tomcat7 deploy -X and the output was that:
[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:53183127.0.0.1:8080 closed [DEBUG] Closing the connection. [DEBUG] Connection 0.0.0.0:53183127.0.0.1:8080 closed [DEBUG] Connection 0.0.0.0:53183127.0.0.1:8080 shut down [DEBUG] Connection 0.0.0.0:53183127.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
回答1:
Ok, I had the same issue with 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
I could not get it to work with
mvn tomcat7:redeploy
as mentioned here.
My WAR wasn't very large, just 4MB.
Here was the root problem and solution
It is important that your tomcat-users.xml has the correct roles setup. I ONLY had the role manager setup. Adding manager-script seems important and completely solved my problem.
回答2:
I don't know if anybody solved this issue. I have found a workaround in my case: use of redeploy instead of deploy works fine.
The issue may perhaps be related to memory issue or read/write access isn't it ?
回答3:
What's the size of your war? maybe it is because the size too large. By default, tomcat manager only allow less then 50MB size war. also try mvn tomcat7:redeploy instead of deploy.
See here how to increase the war size limit
回答4:
This happened because my web.xml file needed a higher max-file-size and max-request-size.
To fix, edit .../webapps/manager/WEB-INF/web.xml
8291456082914560
Then restart apache tomcat.
回答5:
I was having the same issue and solved it by running the maven goal
tomcat7:redeploy
instead of
tomcat7:deploy
It worked for both tomcat7 and tomcat8, and my war file was always below 50mb.
回答6:
Check ~/.m2/settings.xml
tomcat-manageruser001123
回答7:
I've had the same issue and in my case the problem was a cunfigured context path not starting with /. Fixing the context path "myapp" to "/myapp" solved the problem.
回答8:
I dont know if this helps , But in My case . tomcat7 plugin was picking server details from the maven conf settings.xml instead room .m2\settings.xml . Adding server information in that file Resolved my Issue .
回答9:
In my case on my AWS amazon instance the reason was:
The Disk Space Was FULL note 99% on my EC2 spot instance
Am using jenkins using this command normally
mvn clean tomcat7:redeploy -Ddeploy.password=xxxAG1 -Ddeploy.username=admin -Ddeploy.context=/v1 -Ddeploy.url=http://localhost:8080/manager/text

Just Free that space and it worked with me.
The Error i had is
[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset [INFO] Retrying request [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 53.914 s [INFO] Finished at: 2018-01-10T08:38:28+00:00 [INFO] Final Memory: 47M/371M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:redeploy (default-cli) on project XXXX-app: 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.
Hint use this command to track down what is eating your space from ( command is from stackoverflow ) sudo du -x -d1 -h /
回答10:
Occasionally problems
If sometimes the redeployment fails, sometimes succeed, a increase of the logging might show a DOS protection.
Edit the /conf/logging.properties and add the line
org.apache.catalina.level = FINEST
At the end of the file. Might show this output:
FINE [http-nio-8080-exec-7] org.apache.catalina.authenticator.AuthenticatorBase.invoke Security checking request PUT /manager/text/deploy FINE [http-nio-8080-exec-7] org.apache.catalina.loader.WebappClassLoaderBase.loadClass loadClass(org.apache.catalina.manager.ManagerServlet, false) FINE [http-nio-8080-exec-7] org.apache.catalina.loader.WebappClassLoaderBase.loadClass Delegating to parent classloader1 java.net.URLClassLoader@568db2f2 FINE [http-nio-8080-exec-7] org.apache.catalina.loader.WebappClassLoaderBase.loadClass Loading class from parent FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[Status interface]' against PUT /text/deploy --> false FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[Text Manager interface (for scripts)]' against PUT /text/deploy --> true FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[HTML Manager interface (for humans)]' against PUT /text/deploy --> false FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[JMX Proxy interface]' against PUT /text/deploy --> false FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[Status interface]' against PUT /text/deploy --> false FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[Text Manager interface (for scripts)]' against PUT /text/deploy --> true FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[HTML Manager interface (for humans)]' against PUT /text/deploy --> false FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[JMX Proxy interface]' against PUT /text/deploy --> false FINE [http-nio-8080-exec-7] org.apache.catalina.authenticator.AuthenticatorBase.invoke Calling hasUserDataPermission() FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.hasUserDataPermission User data constraint has no restrictions FINE [http-nio-8080-exec-7] org.apache.catalina.authenticator.AuthenticatorBase.invoke Calling authenticate() FINE [http-nio-8080-exec-7] org.apache.catalina.realm.CombinedRealm.authenticate Attempting to authenticate user [admin] with realm [org.apache.catalina.realm.UserDatabaseRealm] FINER [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.authenticate Username [admin] NOT successfully authenticated FINE [http-nio-8080-exec-7] org.apache.catalina.realm.CombinedRealm.authenticate Failed to authenticate user [admin] with realm [org.apache.catalina.realm.UserDatabaseRealm] WARNING [http-nio-8080-exec-7] org.apache.catalina.realm.LockOutRealm.filterLockedAccounts An attempt was made to authenticate the locked user [admin] FINE [http-nio-8080-exec-7] org.apache.catalina.authenticator.AuthenticatorBase.invoke Failed authenticate() test FINE [http-nio-8080-exec-7] org.apache.catalina.core.StandardHostValve.custom Processing ErrorPage[errorCode=401, location=/WEB-INF/jsp/401.jsp] FINER [http-nio-8080-exec-7] org.apache.catalina.core.StandardWrapper.allocate Returning non-STM instance FINE [http-nio-8080-exec-7] org.apache.catalina.core.ApplicationDispatcher.doForward Disabling the response for further output
(in this logging the user who made the attempt to upload has the username admin)
As you see in this output the user admin is locked:
WARNING [http-nio-8080-exec-7] org.apache.catalina.realm.LockOutRealm.filterLockedAccounts An attempt was made to authenticate the locked user [admin]
Look into the documentation and inside the server.xml and you will find a
Use unforseeable username
To remove the line is a bad idea, change the username for redeployment to a different, more unforeseeable name like deploy355547511 to not get locked.