如何使用 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?的主要内容,如果未能解决你的问题,请参考以下文章

Maven2:Cargo 插件热部署 & Jonas 支持

使用 cargo 插件在 payara 上部署

如何将文件夹添加到由 maven cargo 插件启动的 Tomcat 容器的类路径中

如何覆盖 Maven 插件的 log4j 配置?

如何使用 cargo 部署特定的子项目:开始使用 maven

扩展 maven cargo 插件 jvmargs