有人成功地将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
解决方法:
据我所知,使用JBoss进行远程部署并不是开箱即用的(问题是要部署的文件必须在JBoss服务器上本地存在).这个问题在CARGO-416中详细说明仍然是开放的(我不知道补丁是否仍然可以顺利应用).
有人在this thread提到了一个肮脏的解决方法(简而言之,首先将你的可部署到远程机器上),但它似乎并不令人满意.
更新:CARGO-416已在Cargo 1.0.3中修复,JBoss AS上的远程部署现在支持并记录在专用的JBoss Remote Deployer维基页面中.