1

我使用 cargo maven 插件下载 jboss 作为 dist 并部署我们的耳朵。我们使用的 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]

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

4

1 回答 1

0

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

假设您想通过 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)
  • 集成测试
  • 整合后测试
    • 货物:停止
于 2013-06-14T00:29:43.403 回答