0

我有多个子模块相当复杂的 Maven 项目。最近我需要另一个包含一些维护/部署脚本的子模块。将它作为另一个 maven 子模块的原因是因为我的构建脚本需要版本标记并打包完整的发行版。

出于某种原因,我找不到仅压缩源目录并将其放入“目标”文件夹的现有 Maven 原型。有人可以指出我应该使用的正确原型吗?或者这可以通过编写一个简单的 pom 文件来完成。也许 maven-archvie-plugin 可以做到这一点,但我不知道如何设置它,以便它在构建的“打包”阶段存档并将输出放置到正确的位置。尽管编写了一个大型构建脚本,但我的 maven mojo 仍然非常有限。

4

2 回答 2

0

我可以看到两种方法:

  • 保留脚本src/main/resources并使用生成的 jar 文件(如果您的项目具有jar类型的打包)。jar 文件本质上是一个 zip 文件,将在目标目录中生成。一旦你创建了一个版本,它也将被版本化、部署等。这可能是最简单的解决方案。
  • 如果您想要一个zip文件(或tar.gz或类似文件),请使用 Maven Assembly Plugin 创建一个程序集,这将使您能够更精细地控制生成的存档及其内容。请参阅插件页面上的示例:http ://maven.apache.org/plugins/maven-assembly-plugin/
于 2012-04-19T06:18:20.900 回答
0

您可以使用专门用于该目的的maven-sources-plugin 。但通常如果您执行 mvn release,也会生成源工件。当然,您也可以为此目的使用 maven-assembly-plugin。根据您的描述,我建议有一个单独的 maven 模块,它由 src/main/resources 中的脚本组成,并且应该激活过滤以将版本信息放入脚本中。在该模块中,您可以使用 maven-sources-plugin。

于 2012-04-19T06:31:50.690 回答