大数据学习20:Maven 理解 和 spark、hadoop、hive编译
来源:互联网 发布:淘宝客服怎么做流程 编辑:程序博客网 时间:2024/06/01 13:26
一、Maven的一些含义:
groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。
譬如你在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp,
如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp
artifactId定义了当前Maven项目在组中唯一的ID
version指定了Hello World项目当前的版本——1.0-SNAPSHOT。
SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本
二、使用maven命令编译、测试、打包、运行
Maven最主要的命令:mvn clean compile、mvn clean test、mvn clean package、mvn clean install。
执行test之前是会先执行compile的,执行package之前是会先执行test的,而类似地,install之前会执行package。
生成清除Eclipse项目结构:
mvn eclipse:eclipse
mvn eclipse:clean
清理(删除target目录下编译内容):
mvn clean
仅打包Web页面文件:
mvn war:exploded
打包时跳过测试:
mvn package -Dmaven.test.skip=ture
跳过测试运行maven任务:
mvn -Dmaven.test.skip=true XXX
!!!几个编译的例子:
--编译 hadoop
mvn clean package -Pdist,native -DskipTests -Dtar
--编译spark
mvn -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 -Phive -Phive-thriftserver -DskipTests clean package
PS:
另外用其他的方式去编译spark
./dev/make-distribution.sh \
--name 2.6.0-cdh5.7.0 \
--tgz \
-Phadoop-2.6 \
-Dhadoop.version=2.6.0-cdh5.7.0 \
-Phive -Phive-thriftserver -Pyarn
--编译hive
mvn clean package -DskipTests -Phadoop-2 -Pdist
-P,--activate-profiles <arg> Comma-delimited list of profiles to activate
主要涉及profiles配置文件,指定使用相应的profiles,也就是说在<profiles>指定的<id>中,可以通过-P进行传递或者赋值。
例:
如果你的pom.xml如下:
<profiles>
<profile>
<id>test</id>
...
</profile>
</profiles>
执行mvn test -Ptest为触发配置文件。
或者
<profile>
<id>test</id>
<activation>
<property>
<name>env</name>
<value>test</value>
</property>
</activation>
...
</profile>
-D,--define <arg> Define a system property
主要涉及propertites属性,将参数传入到对应的properties里面
要发送多个变量,请使用多个空格分隔符加-D:
例子:mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package
如果你的pom.xml如下:
<properties>
<theme>myDefaultTheme</theme>
</properties>
那么在这个执行过程中mvn -Dtheme=halloween clean package会覆盖theme的值,具有如下效果:
<properties>
<theme>halloween</theme>
</properties>
参考文档:
http://blog.csdn.net/wangjunjun2008/article/details/18982089
http://blog.csdn.net/yy193728/article/details/72847122
groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。
譬如你在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp,
如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp
artifactId定义了当前Maven项目在组中唯一的ID
version指定了Hello World项目当前的版本——1.0-SNAPSHOT。
SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本
二、使用maven命令编译、测试、打包、运行
Maven最主要的命令:mvn clean compile、mvn clean test、mvn clean package、mvn clean install。
执行test之前是会先执行compile的,执行package之前是会先执行test的,而类似地,install之前会执行package。
生成清除Eclipse项目结构:
mvn eclipse:eclipse
mvn eclipse:clean
清理(删除target目录下编译内容):
mvn clean
仅打包Web页面文件:
mvn war:exploded
打包时跳过测试:
mvn package -Dmaven.test.skip=ture
跳过测试运行maven任务:
mvn -Dmaven.test.skip=true XXX
!!!几个编译的例子:
--编译 hadoop
mvn clean package -Pdist,native -DskipTests -Dtar
--编译spark
mvn -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 -Phive -Phive-thriftserver -DskipTests clean package
PS:
另外用其他的方式去编译spark
./dev/make-distribution.sh \
--name 2.6.0-cdh5.7.0 \
--tgz \
-Phadoop-2.6 \
-Dhadoop.version=2.6.0-cdh5.7.0 \
-Phive -Phive-thriftserver -Pyarn
--编译hive
mvn clean package -DskipTests -Phadoop-2 -Pdist
-P,--activate-profiles <arg> Comma-delimited list of profiles to activate
主要涉及profiles配置文件,指定使用相应的profiles,也就是说在<profiles>指定的<id>中,可以通过-P进行传递或者赋值。
例:
如果你的pom.xml如下:
<profiles>
<profile>
<id>test</id>
...
</profile>
</profiles>
执行mvn test -Ptest为触发配置文件。
或者
<profile>
<id>test</id>
<activation>
<property>
<name>env</name>
<value>test</value>
</property>
</activation>
...
</profile>
-D,--define <arg> Define a system property
主要涉及propertites属性,将参数传入到对应的properties里面
要发送多个变量,请使用多个空格分隔符加-D:
例子:mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package
如果你的pom.xml如下:
<properties>
<theme>myDefaultTheme</theme>
</properties>
那么在这个执行过程中mvn -Dtheme=halloween clean package会覆盖theme的值,具有如下效果:
<properties>
<theme>halloween</theme>
</properties>
参考文档:
http://blog.csdn.net/wangjunjun2008/article/details/18982089
http://blog.csdn.net/yy193728/article/details/72847122
阅读全文
0 0
- 大数据学习20:Maven 理解 和 spark、hadoop、hive编译
- 大数据的技术生态圈:Hadoop,hive,spark
- 大数据的生态圈 Hadoop,hive,spark
- 浅析大数据的技术生态圈(Hadoop,hive,spark)
- 大数据Hadoop与Spark学习经验谈
- “大数据” Hadoop,Spark和Storm
- “大数据” Hadoop,Spark和Storm
- 大数据之” Hadoop,Spark和Storm
- 大数据学习3:hadoop编译和伪分布式部署
- [大数据]大数据框架Hadoop和Spark的异同
- 编译hadoop和spark
- 大数据学习12:hadoop,hive 踩坑篇,持续更新!!
- 第112讲:为什么会有第一代大数据技术Hadoop和第二代大数据技术Spark?学习笔记
- 【转载】大数据Hadoop与Spark学习经验谈
- 大数据学习系列之六 ----- Hadoop+Spark环境搭建
- 大数据学习36:spark-core 和 spark-sql 学习
- 一文教你看懂大数据的技术生态圈 Hadoop,hive,spark
- 一文教你看懂大数据的技术生态圈:Hadoop,hive,spark
- Update your urlpatterns to be a list of django.conf.urls.url() instances instead. Django 1.10. Updat
- HTTP/FTP压力测试工具siege
- 23、JS调用Android原生代码方法
- Linux单元小结(5)
- hdfs报错之 DisallowedDatanodeException
- 大数据学习20:Maven 理解 和 spark、hadoop、hive编译
- Direct3D中的纹理映射
- 阅读学习的第一个python程序
- C++11 一致性初始化与初值列
- 互联网模式怎么赚钱?
- ios 点击穿透以及延迟300ms解决方法
- 2PC
- powerdesigner 生成JAVA类
- Cookie 在前端中的实践