我的需求非常基本,但我找不到任何明确的答案:我只需要能够在多模块项目中分发资源。
让我们以 LICENSE 文件为例,我在此假设所有模块都相同。我不想手动将它复制到每个模块中,因为文件可能会随着时间而改变。我也不想静态链接到项目文件夹之外的资源(即使使用相对路径),因为模块化结构也可能发生变化。
是否有任何插件可用于可靠地保证每个模块都具有所需的文件?通过利用父项目的 POM 或直接由模块化层次结构中的超级项目执行这样的副本同样可以接受。
我的需求非常基本,但我找不到任何明确的答案:我只需要能够在多模块项目中分发资源。
让我们以 LICENSE 文件为例,我在此假设所有模块都相同。我不想手动将它复制到每个模块中,因为文件可能会随着时间而改变。我也不想静态链接到项目文件夹之外的资源(即使使用相对路径),因为模块化结构也可能发生变化。
是否有任何插件可用于可靠地保证每个模块都具有所需的文件?通过利用父项目的 POM 或直接由模块化层次结构中的超级项目执行这样的副本同样可以接受。
您可以使用程序集和依赖插件..您是否偶然发现了该链接? http://www.sonatype.com/people/2008/04/how-to-share-resources-across-projects-in-maven/
它描述了该选项..它从 2008 年开始,但是 maven 已经存在了相当长的一段时间..所以我猜它或多或少是最新的
编辑评论
另一个选项是maven-remote-resources-plugin。有关更详细的示例,请参见:
http ://maven.apache.org/plugins/maven-remote-resources-plugin/examples/sharing-resources.html
由于他们的介绍实际上不言自明,我引用 (maven.apache.org)
该插件用于从远程存储库中检索资源的 JAR,处理这些资源,并将它们合并到您使用 Maven 构建的 JAR 中。一个非常常见的用例是需要在整个组织中以一致的方式打包某些资源:在 Apache,要求生成的每个 JAR 都包含 Apache 许可证的副本和引用给定项目中所有使用的软件的通知文件.