如何使用Maven创建不同风格的构建

如何使用Maven创建不同风格的构建,maven,maven-3,maven-plugin,maven-assembly-plugin,Maven,Maven 3,Maven Plugin,Maven Assembly Plugin,我想用maven构建我的anndroid项目 有3个项目 项目-A(jar文件) 项目-B(jar文件) 项目-C(sdk包) 项目C取决于B 项目B取决于A 对于maven,我想发布两种风格的ByBuild 1st flavor:从B释放罐子(其中包含来自B&A的代码) Second flavor:从C发布SDK(其中包含来自C&B&A的代码) 我可以从MAVEN控制这种行为。对于“第一风格”,您可以使用MAVEN程序集插件和预定义的desriptorjar以及依赖项,将所有依赖项嵌入到项

我想用maven构建我的anndroid项目

有3个项目


项目-A(jar文件)

项目-B(jar文件)

项目-C(sdk包)


项目C取决于B

项目B取决于A

对于maven,我想发布两种风格的ByBuild

1st flavor:B释放罐子(其中包含来自B&A的代码)

Second flavor:C发布SDK(其中包含来自C&B&A的代码)

我可以从MAVEN控制这种行为。

对于“第一风格”,您可以使用
MAVEN程序集插件
和预定义的
desriptor
jar以及依赖项
,将所有依赖项嵌入到项目的jar中,但也要注意可以嵌入其中的可传递依赖项。否则,您也可以使用
maven shade插件
,它有一些您可能感兴趣的选项,比如
minimizeJar
,以及一种更简单的方法来配置include和excludes()


对于“第二种风格”,使用
maven汇编插件将与其
bin
描述符相匹配,或者如果需要包含其他文件,可以定义自己的描述符()。您可以找到一些关于如何配置和使用
maven assembly插件的示例
(您也可以查看我已经回答的关于该插件的问题)

看看maven配置文件。这可能是您所需要的。您是希望两者都是一个构建的结果,还是希望选择要构建哪一个?JAR不包含来自其他项目的类/代码,所以您谈论的是具有依赖项的JAR(fatjar/ueberjar)。。。