如何使用 Cargo maven 插件远程部署 EAR 到 JBoss 5.1.0.GA?
Posted
技术标签:
【中文标题】如何使用 Cargo maven 插件远程部署 EAR 到 JBoss 5.1.0.GA?【英文标题】:How to deploy remotely EAR to JBoss 5.1.0.GA using Cargo maven plugin? 【发布时间】:2011-01-17 09:46:25 【问题描述】:有人成功地将 EAR 远程部署到 JBoss 5.1.0.GA 吗?我的 pom.xml 配置如下:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.0.1-SNAPSHOT</version>
<configuration>
<container>
<containerId>jboss51x</containerId>
<type>remote</type>
<timeout>600000</timeout>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>username</cargo.remote.username>
<cargo.remote.password>password</cargo.remote.password>
<cargo.hostname>myserver</cargo.hostname>
<cargo.servlet.port>8888</cargo.servlet.port>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
这会导致以下错误消息:
java.io.IOException: Server returned HTTP response code: 500 for URL:
http://myserver:8888/jmx-console/htmlAdaptor?action=invokeOpByName&name=jboss.system:service%3DMainDeployer&methodName=deploy&argType=java.net.URL&arg0=file:d%3A%5Cear%5Cmy-ear-1.0-SNAPSHOT.ear
【问题讨论】:
我以前见过这个插件。不过,它对我来说并不完美,所以 YMMV。 mojo.codehaus.org/jboss-maven-plugin 【参考方案1】:据我所知,使用 JBoss 进行远程部署不能开箱即用(问题是要部署的文件必须存在于 JBoss 服务器本地)。这个问题在CARGO-416中有详细的说明,它仍然是开放的(我不知道补丁是否仍然可以顺利应用)。
有人在this thread 中提到了一个肮脏的解决方法(简而言之,首先将您的可部署文件 ft 传输到远程计算机),但这似乎不是很令人满意。
更新: CARGO-416 已在 Cargo 1.0.3 中修复,现在支持 JBoss AS 上的远程部署并记录在专用的 JBoss Remote Deployer wiki 页面中。
【讨论】:
据我了解,问题不在于 Cargo 本身,而在于 JBoss 部署程序希望文件是本地文件。 @Ken 是的,确实,这听起来更像是 JBoss 部署程序的问题(如何在不处理上传的情况下将其称为“远程”)但最后,这不适用于/来自货物。以上是关于如何使用 Cargo maven 插件远程部署 EAR 到 JBoss 5.1.0.GA?的主要内容,如果未能解决你的问题,请参考以下文章
如何将文件夹添加到由 maven cargo 插件启动的 Tomcat 容器的类路径中