可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.