Maven 父POM:在子项目之间共享公共配置文件

Maven 父POM:在子项目之间共享公共配置文件,maven,pom.xml,maven-assembly-plugin,parent-pom,Maven,Pom.xml,Maven Assembly Plugin,Parent Pom,我目前正在创建一个带有所有必要配置的父POM,作为我所有个人项目的基础。最终的目标是通过继承父POM来拥有较小的子项目(=配置很少),并更容易地引导项目 但我面临着插件需要外部文件进行配置的问题(如maven汇编插件,在我的示例中如下所示)。我只希望在所有子项目中共享一个外部文件(maven assembly plugin的描述符文件),而不是在所有子项目中重新定义相同的文件 这里有一个完整的例子 带有maven汇编插件的示例 我的父POM(My group id:parent:1.0.0:PO

我目前正在创建一个带有所有必要配置的父POM,作为我所有个人项目的基础。最终的目标是通过继承父POM来拥有较小的子项目(=配置很少),并更容易地引导项目

但我面临着插件需要外部文件进行配置的问题(如
maven汇编插件
,在我的示例中如下所示)。我只希望在所有子项目中共享一个外部文件(maven assembly plugin的描述符文件),而不是在所有子项目中重新定义相同的文件

这里有一个完整的例子

带有
maven汇编插件的示例
我的父POM(
My group id:parent:1.0.0:POM
)定义了
maven assembly plugin
的配置,如下所示:


我的组id
父母亲
1.0.0
聚甲醛
maven汇编插件
3.1.0
创建程序集
包裹
单一的
src/assembly/bin.xml
如果我希望所有子项目都在父项目中定义了
maven汇编插件
配置,我必须编写以下内容(子项目
child1
)的示例:


我的组id
父母亲
1.0.0
孩子1
0.0.1
maven汇编插件
但是,正如我在导言中所说的:使用该配置,对于每个子级,我必须在其自己的项目中创建一个描述符文件(
src/assembly/bin.xml

此外,我的所有子项目都有相同的
bin.xml
文件。我将保存内容,但为了提供信息,打包始终是一个
.tar.gz
存档,外部库在
lib
文件夹中分开

我只想继承父POM,而不必担心子项目中的组装方式。共享描述符文件(
bin.xml
)似乎是解决方案,但我不知道如何在所有子项目中共享它。无论如何,我不希望每个子项目都有
bin.xml


这个问题可以扩展,不仅涉及
maven assembly plugin
的配置,因为还有其他可配置外部文件的插件(
docker maven plugin
,例如,可以提供
Dockerfile
)。但至少,为
maven汇编插件
特定案例找到解决方案将非常有用

我建议阅读原因,听起来这是你的问题。谢谢,这正是我想要的
maven汇编插件
!然而,正如我所解释的(上一段),这只是我问题的一个方面:我想知道是否有一个通用的解决方案可以跨项目共享资源(不仅是程序集描述符,还有其他东西,如shell脚本、文件等等)。看一看……但这取决于您的用例……我不知道这个插件,事实上,它提供了一个在项目之间共享资源的通用解决方案。谢谢你的帮助!