Vik*_*alk 8 maven-cargo tomcat7
我正在尝试通过https从Maven部署到远程Tomcat7.
我已经设置了manager-script角色,并且我已经成功地能够远程取消部署应用程序.
我看起来像这样:
<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>
Run Code Online (Sandbox Code Playgroud)
好吧,我知道凭据和一切都设置正确,我已经使用了新的/文本界面,我已经能够取消部署现有的应用程序.但是在尝试运行部署时:
mvn cargo:deployer-deploy -e
Run Code Online (Sandbox Code Playgroud)
我的根本原因是错误的:
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
Run Code Online (Sandbox Code Playgroud)
我马上得到它所以它不能超时.
文件可以变大吗?这是一场60 MB的战争.我确保我的nginx允许更大:
client_max_body_size 200M;
Run Code Online (Sandbox Code Playgroud)
我还在管理器webapps web.xml中的文本管理器中添加了multipart配置,如下所示:
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>
Run Code Online (Sandbox Code Playgroud)
http://nexnet.wordpress.com/2011/04/27/large-war-file-cannot-be-deployed-in-tomcat-7/
我在很多方面都喜欢Maven,但错误报告非常糟糕.任何帮助高度赞赏.
我不记得我是否或如何解决这个问题,但由于 rascio 有同样的问题,我会发布一个想法。也许需要的是 ssl 的 wagon-extension:
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.2</version>
</extension>
</extensions>
Run Code Online (Sandbox Code Playgroud)
尽管猜测。我认为在 Maven 3.0 之前你不需要它。
| 归档时间: |
|
| 查看次数: |
6030 次 |
| 最近记录: |