Error when I try deploy application to tomcat7 server

匿名 (未验证) 提交于 2019-12-03 01:17:01

问题:

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.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!