modify
This commit is contained in:
parent
a38b7cce3d
commit
5e4f55a09c
@ -1,12 +1,24 @@
|
||||
# 大数据应用常用打包方式
|
||||
|
||||
<nav>
|
||||
<a href="#一简介">一、简介</a><br/>
|
||||
<a href="#二mvn-package">二、mvn package</a><br/>
|
||||
<a href="#三maven-assembly-plugin插件">三、maven-assembly-plugin插件</a><br/>
|
||||
<a href="#四maven-shade-plugin插件">四、maven-shade-plugin插件</a><br/>
|
||||
<a href="#五使用非Maven仓库中的Jar">五、使用非Maven仓库中的Jar</a><br/>
|
||||
<a href="#六排除集群中已经存在的Jar">六、排除集群中已经存在的Jar</a><br/>
|
||||
<a href="#七使用建议">七、使用建议</a><br/>
|
||||
</nav>
|
||||
|
||||
|
||||
## 一、简介
|
||||
|
||||
在提交大数据作业到集群中运行时,通常都需要先将项目打成Jar包。Java项目通常都采用Maven进行构建,常用的打包方式有以下三种:
|
||||
在提交大数据作业到集群中运行时,通常都需要先将项目打成Jar包。Java项目通常都采用Maven进行构建,Maven提供的常用打包方式及插件有以下四种:
|
||||
|
||||
- 第一种:不加任何插件,直接使用mvn package打包;
|
||||
- 第二种:使用maven-assembly-plugin插件进行打包;
|
||||
- 第三种:使用maven-shade-plugin插件进行打包。
|
||||
- 不加任何插件,直接使用mvn package打包;
|
||||
- 使用maven-assembly-plugin插件;
|
||||
- 使用maven-shade-plugin插件;
|
||||
- 使用maven-jar-plugin和maven-dependency-plugin插件;
|
||||
|
||||
以下分别进行详细的说明。
|
||||
|
||||
@ -104,7 +116,7 @@ assembly.xml文件内容如下:
|
||||
|
||||
## 四、maven-shade-plugin插件
|
||||
|
||||
`maven-shade-plugin`比`maven-assembly-plugin`功能更丰富,比如你的工程依赖很多的JAR包,而被依赖的JAR又会依赖其他的JAR包,这样,当工程中依赖到不同的版本的 JAR时,并且JAR中具有相同名称的资源文件时,shade插件会尝试将所有资源文件打包在一起时,而不是和assembly一样执行覆盖操作。
|
||||
`maven-shade-plugin`比`maven-assembly-plugin`功能更为强大,比如你的工程依赖很多的JAR包,而被依赖的JAR又会依赖其他的JAR包,这样,当工程中依赖到不同的版本的 JAR时,并且JAR中具有相同名称的资源文件时,shade插件会尝试将所有资源文件打包在一起时,而不是和assembly一样执行覆盖操作。
|
||||
|
||||
### 4.1 基本配置
|
||||
|
||||
@ -247,3 +259,13 @@ Strom官方文档 Running Topologies on a Production Cluster 章节:
|
||||
|
||||
通常使用`maven-shade-plugin`就能够完成大多数的打包需求,其配置简单且适用性最广,因此建议使用此方式。
|
||||
|
||||
|
||||
|
||||
## 参考资料
|
||||
关于Maven各个插件的详细配置可以查看其官方文档:
|
||||
+ maven-assembly-plugin : http://maven.apache.org/plugins/maven-assembly-plugin/
|
||||
+ maven-shade-plugin : http://maven.apache.org/plugins/maven-shade-plugin/
|
||||
+ maven-jar-plugin : http://maven.apache.org/plugins/maven-jar-plugin/
|
||||
+ maven-dependency-plugin : http://maven.apache.org/components/plugins/maven-dependency-plugin/
|
||||
|
||||
关于maven-shade-plugin的更多配置也可以参考该博客: [maven-shade-plugin 入门指南](https://www.jianshu.com/p/7a0e20b30401)
|
Loading…
x
Reference in New Issue
Block a user