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

时间:2015-05-11 09:09:58

标签: maven maven-3 maven-plugin maven-assembly-plugin

我想用maven构建我的anndroid项目。

有3个项目

项目 - A(jar文件)

项目 - B(jar文件)

项目 - C(sdk包)

项目 C 取决于 B

项目 B 取决于 A

使用maven我想发布两种版本的构建

第一种风味: B 发布JAR(其中包含来自B& A的代码)

第二种风格:从 C 发布SDK(其中包含来自C& B& A的代码)

我可以从MAVEN控制此行为。

1 个答案:

答案 0 :(得分:1)

对于“1st flavor”,您可以将maven-assembly-plugin与预定义的desriptor jar-with-dependencies一起使用,将所有依赖项嵌入到项目的jar中,但要注意可嵌入其中的传递依赖。否则,您也可以使用maven-shade-plugin,其中包含您可能感兴趣的选项,例如minimizeJar,以及更简单的方法来配置包含和排除(see doc here)。

对于“第二种风味”,使用maven-assembly-plugin可以很好地适应bin descriptor,或者根据需要定义自己的描述符包含其他文件(see the descriptor format here)。您可以在SO上找到有关如何配置和使用maven-assembly-plugin的一些示例(您还可以查看我已经回答的关于此插件的问题)