我的需求非常基本,但我找不到任何干净的答案:我只需要能够在多模块项目中分配资源。
让我们考虑一下LICENSE文件,我在此假设所有模块都是相同的。我不想手动将其复制到每个模块中,因为文件可能会随着时间而改变。我也不想在项目文件夹之外静态链接资源(即使使用相对路径),因为模块化结构也可能发生变化。
是否有任何插件可用于强有力地保证为每个模块提供所需的文件?同样可以通过利用父项目的POM或直接由模块化层次结构中的超级项目执行来获得此类副本。
答案 0 :(得分:13)
你可以使用程序集和依赖插件..你偶然发现了那个链接吗? 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许可证的副本和引用给定项目中所有已使用软件的通知文件