在 JAR 中包含解压缩的资源 - Maven

问题描述

我在我的工件存储库中部署了一个版本控制的 ZIP 文件,我需要下载、提取文件并将其作为资源包含在 Maven 中。

我已成功使用 maven-dependency-plugin 检索工件并在 package 阶段以 unpack 为目标提取它。我在构建目录中看到解压缩的 ZIP。然后我将该解压缩的目录作为资源包含在内。我可以看到该目录包含在 source-jar/myProject-sources.jar 中的相应文件中。我在最终的 JAR myProject.jar 中没有看到此文件夹。

对于如何包含此提取资源的任何建议或示例,我们将不胜感激。

解决方法

如果您在 package 阶段(默认情况下 process-resources} 阶段之后很久)提取:

when the maven-resources-plugin's resources goal runs

Maven Lifecycles,Phases,Goals,Plugins 将主源代码的资源复制到主输出目录。

这个目标通常会自动执行,因为它默认绑定到流程资源生命周期阶段。它总是使用 project.build.resources 元素来指定资源,并且默认使用 project.build.outputDirectory 来指定复制目标。

我会尝试在 generate-resources 阶段提取。