本文讲述使用IntelliJ IDEA打包Project的过程,即,打jar包。

环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1

Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机。IDEA自身运行于JDK 1.8,IDEA工程及Hadoop使用JDK 1.6。

在本系列博文的第一篇,我因不会使用IDEA打jar包,不得不直接调试代码,遇到输入路径不存在问题。今天,我打了几次jar包,结果不都满意,默认情况,IDEA把依赖的库全打包,导出的包太大,虽然可用,但是我强迫症发作,想搞个最小体积的jar包,因为服务器上已有hadoop运行需要的库文件,按理我只需打包自己的类即可。

参考VIC的博客,总算得到了仅包含自己工程的jar包了。

第一步,command + ;或File->Project Structure...打开Project Structure。

第二步,点击Artifacts,再点击Add。

第三步,在弹出菜单中选择Jar -> Empty,因为打最小体积jar包,如下图所示。

第四步,填好jar包名和输出路径,如下图所示。

第五步,在Output Layout中添加输出到jar包的模块,如下图所示。

这里,如果需要添加额外的库文件,在Mac OS X下建议使用绝对路径,像~/Desktop这种最好写成/Users/用户名/Desktop,否则在找classpath时可能找不到。

第六步,在弹出窗口中指定模块,如下图所示。

确定后,如果模块只包含一个main函数,则自动指定。否则,需要手工指定。

第七步,[可选]手工指定main函数。

一切就绪,如下图所示。

第八步,打包。

Build->Build Artifacts

在弹出菜单中,选择Build或Rebuild。

最后,因为指定了主类,则hadoop执行脚本应该忽略主类参数,即

  hadoop jar [jar包] [input路径] [output路径]

如果按执行样例jar的写法hadoop jar hadoop-example-1.2.1.jar wordcount input ouput,则wordcount会被当成是输入参数,如下图所求。

最新文章

  1. java+eclipse+selenium环境搭建
  2. Java 异常讲解(转)
  3. oracle 未找到提供程序。该程序可能未正确安装
  4. CSS 框模型——规定了元素框处理元素内容、内边距、边框和外边距的方式
  5. PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)
  6. @@ROWCOUNT (Transact-SQL)
  7. 二、python 函数
  8. MFC 视图、文档、框架(通讯)
  9. 【转载】ShowWindow函数
  10. 不定高度实现垂直居中(兼容低版本ie)
  11. 一个想法照进现实-《IT连》创业项目:关于团队组建
  12. 三:Redis连接池、JedisPool详解、Redisi分布式
  13. CentOs 6 或 7 yum安装JDK1.8 (内含报 PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.163.com'"错误解决方案)并分析为什么不能yum安装
  14. 【MySQL 读书笔记】当我们在执行更新语句的时候我们在做什么
  15. Hive快捷查询:不启用Mapreduce job启用Fetch task三种方式介绍
  16. android --- api json数据
  17. centos7,zabbix3.2通过zabbix_java_gateway监控jmx[java/tomcat]
  18. 89、instancetype和id的区别
  19. [转]ztree出现$.fn.zTree is undefined错误的解决办法。
  20. 【Java】【集合】

热门文章

  1. OK335xS mac address hacking
  2. 【C#学习笔记】LinkedList容器使用
  3. mysql的MMM高可用方案
  4. Jquery插件写法及extentd函数
  5. cgroup的测试数据
  6. [Papers]NSE, $u_3$, Lebesgue space [Kukavica-Ziane, Nonlinearity, 2006]
  7. Java每日一则-001
  8. http 名词解释
  9. 基于互联网的VOIP电话系统组建
  10. JAVA NIO 类库的异步通信框架netty和mina