4

我正在使用 maven 的 Assembly 插件来创建安装包。

对于我的打包要求,我需要将构建期间生成的工件和所有依赖项拆分到单独的文件夹中。

我目前的大会清单如下:

<moduleSets>
  <moduleSet>
    <includes>
      <include>test:test</include>
    </includes>
    <binaries>
      <includeDependencies>false</includeDependencies>
      <outputDirectory>lib/custom/${artifactId}</outputDirectory>
      <unpack>false</unpack>
    </binaries>
  </moduleSet>
  <moduleSet>
    <includes>
      <include>test:test</include>
    </includes>
    <binaries>
      <includeDependencies>true</includeDependencies>
      <excludes>
        <exclude>test:test</exclude>
      </excludes>
      <outputDirectory>lib/thirdParty/</outputDirectory>
      <unpack>false</unpack>
    </binaries>
  </moduleSet>
</moduleSets>

第一个模块集仅正确生成当前构建的程序集。但是,第三方也包括当前构建的程序集。我将如何排除已包含在第一组中的文件?

谢谢

4

3 回答 3

1

如何使用依赖:复制依赖?我用它把所有的 deps 复制到 target/lib 。

于 2009-09-02T06:32:37.123 回答
0

一种笨拙的方法是使用maven-antrun-plugin和 ant 任务。迭代 lib/custom/${artifactId} 的内容并从 lib/thirdParty 中删除所有文件。

于 2009-07-22T22:32:17.950 回答
0

您可能想查看appassembler-maven-plugin。它允许您将所有运行时依赖项 jar 转储到一个目录中。您也许可以破解它以将您的主 jar 放在一个文件夹中,然后将依赖项转储到另一个文件夹中。

于 2009-08-31T20:54:50.007 回答