Maven包阶段:如何依赖其他项目的包工件

Maven包阶段:如何依赖其他项目的包工件,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我有一个Maven项目结构: -- top -- a produces a.jar and a-capsule-fat.jar -- b produces b.jar and b-capsule-fat.jar -- pkg produces all.tar.gz, which contains a-capsule.jar and b-capsule.jar 我正在几个项目中使用capsule-maven插件构建胖罐子,如上所示。正常情况下,capsu

我有一个Maven项目结构:

-- top
  -- a
     produces a.jar and a-capsule-fat.jar
  -- b
     produces b.jar and b-capsule-fat.jar
  -- pkg
     produces all.tar.gz, which contains a-capsule.jar and b-capsule.jar
我正在几个项目中使用
capsule-maven插件
构建胖罐子,如上所示。正常情况下,
capsule
package
阶段运行。然后我想将胶囊罐组装成一个
tar.gz
,以便于部署。我正在项目
pkg
中使用
maven汇编插件
制作tar

但是
maven组装插件
通常也会在
package
阶段运行,并且在创建胶囊罐之前运行

我是否可以指定一个程序集依赖项或顺序,强制maven首先创建胶囊罐?或者,我可以在以后阶段构建程序集,但是没有真正适合的后期程序集(在
install
?没有
post package


回复:我为子孙后代提供了一些工作代码:

pkg/pom.xml中的依赖项


小组
A.
版本
罐子
胶囊脂肪
小组
B
版本
罐子
胶囊脂肪
pkg/pom.xml
中的程序集插件设置:


org.apache.maven.plugins
maven汇编插件
造焦油
包裹
单一的
src/main/assembly/pkg.xml
pkg.xml(如上所述):


美国科技大学档案包
tar.gz
*:罐:胶囊脂肪

确保capsule maven插件的定义出现在maven assembly插件之前。当有执行绑定到同一阶段时,Maven使用POM中插件定义的顺序来打破僵局

----编辑----

确保
a
b
的依赖项包括一个分类器:

<dependency>
    <groupId>theGroup</groupId>
    <artifactId>a</artifactId>
    <version>theVersion</version>
    <classifier>capsule-fat</classifier>
</dependency>

小组
A.
版本
胶囊脂肪

看看这是否有效。

他们在不同的POM中。
a
b
的pom制作胶囊,而
pkg
的pom进行组装。
pkg
pom是否将
a
b
列为依赖项?是的,但这似乎不会影响
包装
阶段的顺序。我想指定对a-capsule.jar和b-capsule.jar的依赖关系<代码>范围和
类型
似乎没有帮助。