Hadoop on Mac with IntelliJ IDEA - 4 制作jar包

本文讲述使用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包的模块,如下图所示。

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

确定后,如果模块只包含一个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会被当成是输入参数,如下图所求。

最后,真的最后了,作为一只初学者,我遇到的问题真心多。

时间: 2024-10-12 22:38:36

Hadoop on Mac with IntelliJ IDEA - 4 制作jar包的相关文章

Hadoop on Mac with IntelliJ IDEA - 7 解决failed to report status for 600 seconds. Killing!问题

本文讲述作业在Hadoop 1.2.1完成map后ruduce阶段遇到failed to report status for 600 seconds. Killing!问题的解决过程. 环境: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. 提交作业到hadoop后,作业执行时间过长,输出

如何制作Jar包并在android中调用jar包

android制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmanifest.xml和res文件夹,就可以了.否则在调用jar包的时候会出现“Error generating final archive: Found duplicate file for APK: AndroidManifes”这个错误. 如果在android用调用jar包,需要在工程的属性的Jav

Eclipse4.7使用基础 制作jar包

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) 三个代码 抽象父类.子类.接口 接口代码 package jizuiku.test00; /** * 技能训练接口 * * @author 给最苦 * @version 17.08.29 */ public interface SkillTrain { /** * 驾驶车辆功能 */ public abstract void dr

Hadoop on Mac with IntelliJ IDEA: 1 解决输入路径不存在问题

本文讲述使用IntelliJ IDEA时遇到Hadoop提示input path does not exist(输入路径不存在)的一种解决办法. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机. 这是自学Hadoop的第三天.以前做过点.NET开发,Mac.IntelliJ IDEA.Hadoop.CentOS对我而言,相当陌生.第一份Hadoop代码就遇到了问

Hadoop读书笔记(八)MapReduce 打成jar包demo

Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 Hadoop读书笔记(二)HDFS的shell操作:http://blog.csdn.net/caicongyang/article/details/41253927 Hadoop读书笔记(三)Java API操作HDFS:http://blog.csdn.net/caicongyang/article/details/41290955

java在window下用cmd (javac、jar)命令行模拟Intellij IDEA软件生成jar包

@@首先最重要的cmd命令: javac ,jar :使用如下(注意[.]不要输错): 1. javac编译: D:\MyWorkSet\idea_hadoop>javac -d .\out\production -cp .;.\lib\* -encoding utf-8 src\com\it18zhang\hadoop\*.java 2.jar打包: D:\MyWorkSet\idea_hadoop>jar cvfm .\out\artifacts\idea_hadoop.jar .\out

通过 IntelliJ IDEA 来 Debug Jar包

转自:https://segmentfault.com/a/1190000010646125 代码打成Jar之后,要如何进行Debug呢? 下面以 IDEA 来例进行说明: 1.在IntelliJ IDEA的run/debug configuration中增加一个remote类型的配置 2.以以下方式来启动 Jar包 $java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y -jar test.jar

Hadoop on Mac with IntelliJ IDEA - 5 解决java heap space问题

本文讲述在CentOS 6.5中提交作业到hadoop 1.2.1于reduce阶段遇到Error: java heap space错误导致作业重新计算的解决过程.解决办法适用Linux.Mac OS X 和Windows操作系统. 环境: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.

Hadoop on Mac with IntelliJ IDEA - 2 解决URI错误导致Permission denied

本文讲述在IntelliJ IDEA中使用FileSystem.copyFromLocalFile操作Hadoop时因URI格式有误导致Permission denied的解决过程. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机. 操作代码如下 1 public class CopyFromLocalTestDriver { 2 public static v