【问题标题】:Copy Module to JBoss with Cargo Maven Plugin使用 Cargo Maven 插件将模块复制到 JBoss
【发布时间】:2012-10-09 17:55:49
【问题描述】:

我使用 cargo maven 插件下载 jboss 作为 dist 并部署我们的 ear。 我们使用的JBoss是7.1.0

我的问题是,我们需要在 JBoss 中添加一个模块。 如何将模块复制到目标目录中的 JBoss 中?

我用这个配置试了一下:

<configuration>
    <type>standalone</type>
    <files>
        <file>
            <file>${project.basedir}/modules/springframework</file>
            <todir>../../installs/jboss-as-dist-7.1.1.Final/jboss-as-7.1.1.Final/modules</todir>
        </file>
    </files>
</configuration>

但这给了我这个错误: [错误] 无法在项目 gevomanagementservice_test_integration 上执行目标 org.codehaus.cargo:cargo-maven2-plugin:1.2.1:start (start-container):执行目标 org.codehaus.cargo:cargo-maven2-plugin 的启动容器:1.2.1:start failed: 无法将源文件 [C:\blabla/modules/springframework] 复制到 [C:\blabla\target\cargo\configurations\jboss71x/../../installs/jboss-as- dist-7.1.1.Final/jboss-as-7.1.1.Final/modules/springframework]: C:\blabla\modules\springframework (系统找不到指定的文件) -> [帮助1]

看来我只能使用此配置复制文件。是否可以复制整个目录?

【问题讨论】:

    标签: maven jboss cargo


    【解决方案1】:

    我也遇到过这个问题。但我只需要复制少量文件,所以这对我来说不是问题。我自己实际上并没有尝试过以下解决方案,但理论上它可能会起作用。

    假设您想通过 cargo 部署您的工件并运行集成测试。我想你可以选择将你的 cargo:install 目标绑定到,比如 package 短语。然后在包短语中还有另一个插件,即 maven-antrun-plugin 来执行文件夹复制任务。然后在 pre-integration-test 阶段,你可以绑定 cargo:start (或部署。参见cargo reference)来启动你的 jboss 实例。 maven 生命周期如下所示:

    • 干净
      • cargo:install(安装 JBoss)
      • antrun(将文件复制到已安装的 JBoss)
    • 预集成测试
      • cargo:start (注意文档说这个目标不会调用 cargo:install 而是重用相同的逻辑。我不确定这是否会消除你的 antrun 效果。为了安全起见,你可能想尝试 cargo:deploy)
    • 集成测试
    • 集成后测试
      • 货物:停止

    【讨论】:

    • antrun 解决方案是每次紧急解决方案,但我真的不喜欢它。然后我宁愿用模块压缩 jboss 并将其提交到 repo 中。
    猜你喜欢
    • 2011-01-17
    • 2012-03-15
    • 2013-02-01
    • 2011-09-13
    • 2011-07-06
    • 2012-03-11
    • 2011-04-17
    • 2015-04-18
    • 2016-11-17
    相关资源
    最近更新 更多