Maven包阶段:如何依赖其他项目的包工件
我有一个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
-- 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的依赖关系<代码>范围和类型
似乎没有帮助。