Ошибка при попытке развернуть приложение на сервере tomcat7

Я пытаюсь развернуть веб-приложение на tomcat7 через eclipse luna, но я получаю эту ошибку:

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

Я также пытаюсь развернуть 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>

Кто-нибудь знает, что здесь происходит?

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

Ответ 1

Хорошо, у меня была такая же проблема с 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

Я не мог заставить его работать с

mvn tomcat7:redeploy 

как упоминалось здесь.

Моя WAR была не очень большой, всего 4 МБ.

Вот коренная проблема и решение

Важно, чтобы ваш 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"/>

Ответ 2

Я не знаю, решила ли кто-нибудь эту проблему. Я нашел обходное решение в моем случае: использование redeploy вместо развертывания отлично работает.

Возможно, проблема связана с проблемой памяти или доступом для чтения/записи, не так ли?

Ответ 3

Какой размер вашей войны? возможно, это потому, что размер слишком велик. По умолчанию диспетчер tomcat допускает меньше войны размером менее 50 МБ. также попробуйте mvn tomcat7: повторно разверните вместо развертывания.

См. здесь, как увеличить ограничение размера войны

Ответ 4

По умолчанию Tomcat имеет максимальный размер загрузки 50 МБ. (Т.е. максимальный размер файла WAR)

Если вам нужен файл большего размера, попробуйте увеличить max-file-size и max-request-size в web.xml tomcat web.xml. Примечание: оба значения хранятся в байтах.

Изменить .../webapps/manager/WEB-INF/web.xml. (Убедитесь, что размеры файлов больше, чем файл war который вы пытаетесь загрузить). Т.е. если вам требуется 80MB WAR,

  <max-file-size>82914560</max-file-size>
  <max-request-size>82914560</max-request-size>

Затем перезапустите Apache Tomcat.

https://octopus.com/blog/tomcat-manager-deployment

Ответ 5

У меня была одна и та же проблема, и я решил ее, выполнив цель maven

tomcat7: redeploy

вместо

tomcat7: развернуть

Он работал как для tomcat7, так и для tomcat8, и мой файл войны всегда был ниже 50 МБ.

Ответ 6

Проверить ~/.m2/settings.xml

<settings>
  <servers>
    <server>
      <id>tomcat-manager</id>
      <username>user001</username>
      <password>123</password>
    </server>
  </servers>
</settings>

Ответ 7

У меня была одна и та же проблема, и в моем случае проблема заключалась в том, что путь к cnfigured context не начинался с /. Фиксирование контекста "myapp" на "/myapp" решило проблему.

Ответ 8

Изредка проблемы

Если иногда повторное развертывание завершается неудачно, а иногда успешно, увеличение количества журналов может показывать защиту DOS.

Отредактируйте /conf/logging.properties и добавьте строку

org.apache.catalina.level = FINEST

В конце файла. Мог бы показать этот вывод:

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 [email protected]
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

(в этом журнале пользователь, который сделал попытку загрузки, имеет имя admin)

Как вы видите в этом выводе, пользователь admin заблокирован:

WARNING [http-nio-8080-exec-7] org.apache.catalina.realm.LockOutRealm.filterLockedAccounts 
  An attempt was made to authenticate the locked user [admin]

Посмотрите документацию и внутри server.xml и вы найдете

   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
           resourceName="UserDatabase"/>

Используйте незаметное имя пользователя

Удаление строки - плохая идея, измените имя пользователя для deploy355547511 на другое, более непредсказуемое имя, например deploy355547511 чтобы оно не блокировалось.

Ответ 9

Я не знаю, помогает ли это, Но в моем случае. Плагин tomcat7 собирал данные сервера из maven conf settings.xml вместо комнаты .m2\settings.xml. Добавление информации о сервере в этот файл. Решена моя проблема.

Ответ 10

В моем случае на моем примере Amazon AWS причина была:

Пространство на диске было FULL отметить 99% на моем экземпляре пятна EC2

Я использую jenkins, используя эту команду обычно

 mvn clean tomcat7:redeploy -Ddeploy.password=xxxAG1
 -Ddeploy.username=admin -Ddeploy.context=/v1 -Ddeploy.url=http://localhost:8080/manager/text

введите описание изображения здесь

Просто освободи это пространство, и он работал со мной.

Ошибка у меня была

[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.

Совет используйте эту команду для отслеживания того, что ест ваше пространство из (команды из stackoverflow) sudo du -x -d1 -h/

Ответ 11

(Re-) развертывание с плагином Maven tomcat также не удалось для меня с сбросом соединения на клиенте и кодом состояния 403 в localhost_access.log на Tomcat 8.5.30.

В этом приложении управления версиями Tomcat по умолчанию настроен RemoteAddrValve, ограничивающий доступ к пути /manager/* к localhost. См. $TOMCAT_HOME/webapps/manager/META-INF/context.xml.

Это помогло включить ведение журнала, чтобы найти решение этой проблемы.