Невозможно развернуть на Tomcat7 с груза - PullRequest
8 голосов
/ 06 октября 2011

Я пытаюсь развернуть на удаленном Tomcat7 с Cargo от Maven через https.

Я настроил роль менеджера-сценария и мне удалось настолько, что я смог отменить развертываниеприложение удаленно.

То, что у меня выглядит следующим образом:

<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.1.2</version>
    <configuration>
        <container>
            <containerId>tomcat7x</containerId>
            <type>remote</type>
        </container>

        <configuration>
            <type>runtime</type>
            <properties>
                <cargo.remote.uri>https://xxx/manager/text</cargo.remote.uri>
                <cargo.remote.username>${tomcat.username}</cargo.remote.username>
                <cargo.remote.password>${tomcat.password}</cargo.remote.password>
            </properties>
        </configuration>

        <deployer>
            <type>remote</type>
            <deployables>
                <deployable>
                    <groupId>mycomp</groupId>
                    <artifactId>myartifact</artifactId>
                    <type>war</type>
                    <properties>
                        <context>/</context>
                    </properties>
                </deployable>
            </deployables>
        </deployer>

    </configuration>
</plugin>

Ну, я знаю, учетные данные и все настроено правильно, и я использовал новый / текстовый интерфейс, и я былвозможность удалить существующее приложение.Но при попытке запустить развертывание:

mvn cargo:deployer-deploy -e

Я получаю сообщение об ошибке с основной причиной:

Caused by: java.io.IOException: Error writing request body to server
at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:2809)
at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:2792)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.pipe(TomcatManager.java:605)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:501)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deployImpl(TomcatManager.java:569)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:273)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:256)
at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:240)
at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:101)
... 25 more

Я получаю это довольно быстро, поэтому это не может быть тайм-аут.

Может ли файл быть большим?Это война 60 МБ.Я убедился, что мой nginx позволяет больше:

client_max_body_size 200M;

Я также добавил многокомпонентную конфигурацию в текстовый менеджер в менеджере webapps web.xml следующим образом:

servlet> Manager org.apache.catalina.manager.ManagerServlet debug 2

<multipart-config>
  <max-file-size>209715200</max-file-size>
  <max-request-size>209715200</max-request-size>
  <file-size-threshold>0</file-size-threshold>
</multipart-config>

http://nexnet.wordpress.com/2011/04/27/large-war-file-cannot-be-deployed-in-tomcat-7/

Я люблю Maven во многих отношениях, но сообщения об ошибках действительно ужасны.Любая помощь высоко ценится.

Ответы [ 4 ]

2 голосов
/ 28 января 2015

Я был укушен этой ошибкой недавно, когда попытался cargo:deploy артефакт. Обычно мы останавливаем, очищаем и запускаем каталог webapps перед развертыванием, но на этот раз я заметил, что один артефакт не был удален.

После переключения на cargo:redeploy ошибка была устранена.

1 голос
/ 10 июля 2014

Я столкнулся с тем же сообщением об ошибке при развертывании на сервере tomcat 8 с помощью задачи ant deploy.Проблема в моем случае заключалась в том, что на сервере не хватало места.Проверка журнала менеджера Tomcat - вот что мне подсказало:

10-Jul-2014 10:15:38.065 INFO [http-nio-8080-exec-2] org.apache.catalina.core.ApplicationContext.log Manager: deploy: Deploying web application '/abc_beta'
10-Jul-2014 10:15:38.065 INFO [http-nio-8080-exec-2] org.apache.catalina.core.ApplicationContext.log Manager: Uploading WAR file to /usr/share/apache-tomcat-8.0.9/webapps/abc_beta.war
10-Jul-2014 10:15:57.962 SEVERE [http-nio-8080-exec-2] org.apache.catalina.core.ApplicationContext.log Manager: managerServlet.check[/abc_beta]
    java.io.IOException: No space left on device
    ... stacktrace ...
0 голосов
/ 11 февраля 2015

Еще одна причина этого исключения, на которую мы неожиданно натолкнулись в понедельник, когда перестали работать задания по развертыванию на нашем экземпляре Jenkins , использующие плагин cargo * .Не все из них, но некоторые.Основным отличием был пользовательский settings.xml в заданиях для репозитория Nexus для загрузки развертываемых файлов из.

Для заданий успешного развертывания он был настроен, как описано в https://support.sonatype.com/entries/20943003-configure-maven-to-download-from-nexus, неудачникам не хватало repository и pluginRepository

Я до сих пор не уверен, почему поведение изменилось в один момент.Любые советы?

0 голосов
/ 11 мая 2012

Я не помню, решал ли я это или как, но поскольку у Расио такая же проблема, я опубликую идею. Может быть, это расширение фургона для ssl, которое необходимо:

    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>2.2</version>
        </extension>
    </extensions>

Хотя дикое предположение. Я думаю, что вам не нужно это до Maven 3.0.

...