将资源部署为单独的 Maven 工件

Deploy resources as separate Maven artifact

我的 Web 应用程序被组织为一个多模块 Maven 项目。有多个子模块构建单独的 jar,"main" WAR 模块将前者作为依赖项。 Web 应用程序从文件系统加载其资源。将它们作为 java 资源打包到 jars 本身不是一种选择。我的计划是将两个工件部署到存储库中,从中提取它们以安装到各种环境中。 war 文件将部署到 Tomcat,压缩或 tarred/gzipped 资源将解压到服务器上的适当位置。

额外的复杂性是多个 jar 子模块可以贡献给资源包。我可以在构建期间使用 maven-resources-plugin 将它们全部提取到一个公共子目录中,但是如何在处理完所有子模块后将它们部署到存储库中?还是我使用这个插件的方式有误?

好像这还不够,我需要将进入 WAR 的相同 jar 包含到此资源工件中。其原因是 运行 定期自动进行作业,并且在 Tomcat 的应用程序目录下使用来自 WAR 的 jar 是不切实际的。

我在最初的尝试中使用 maven-assembly-plugin 而不是 maven-resource-plugin 解决了这个问题。