gpt4 book ai didi

maven - 如何在 Maven 程序集中包含依赖文件

转载 作者:行者123 更新时间:2023-12-04 05:29:11 26 4
gpt4 key购买 nike

我有一个 Maven 项目,它被配置(通过使用 pom.xml 和 assembly.xml)打包一个 zip 文件,其中包含编译的 webapp(war 文件)和 src/main/folder 下的所有文件,每当我们运行 mvn clean package assembly:single .

该项目导入/使用另一个 maven 项目(成为 jar 文件),该项目又导入/使用第三个 maven 项目(再次是 jar 文件)。

第三个项目还包含 src/main/folder 中的一些文件,每当我构建主项目时,我都希望将这些文件与 zip 文件中的其他文件放在一起(链顶部的一个成为 war 文件)。

是否有可能以某种方式告诉 Maven 将特定文件夹中的所有文件包含在其所有依赖项(或一个特定依赖项)中的 zip 文件中?

最佳答案

从这里开始:Maven: The Complete Reference - 8.5. Controlling the Contents of an Assembly

请注意,如果您deploy一个带有 assembly:assembly 的 Maven 项目(您确实应该将其配置为 <build> 插件,而不是在命令行上使用),程序集会“附加”到项目并安装在存储库中。然后,您可以使用 Maven 依赖项表示法访问它们,即 mygroup:myartifact:extrafiles:zip
我找到了程序集描述符 <dependencySets>配置麻烦。它们确实适用于简单情况(包括您的应用程序在运行时需要的 JAR 文件)。

这是我为您想要的结果采取的一般方法:

  • 使用 Maven Dependency Plugin dependency:copy从其他项目下载特定文件,将它们放在 target/ 的子目录下
  • 配置您的程序集描述符以将那些下载/提取的文件添加到您的最终程序集 Artifact 中。

  • 或者,使用 Maven Ant Run Plugin 一起破解一些东西.

    关于maven - 如何在 Maven 程序集中包含依赖文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12836299/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com