Java 用于MapR/Hadoop/Hive的类路径

Java 用于MapR/Hadoop/Hive的类路径,java,hadoop,mapr,Java,Hadoop,Mapr,我正在尝试为hadoop编译一些java代码,需要知道需要指定什么样的类路径。对于cloudera,我在下面使用它,但对于MapR安装,我应该使用什么?令人惊讶的是,我只能在google中找到如何设置类路径,而不能找到如何设置 javac -classpath "/opt/cloudera/parcels/CDH-4.6.0-1.cdh4.6.0.p0.26/lib/hadoop/client/*" mr.java -d mr 通过反复试验找到了答案。奇怪的是,谷歌对此非常沉默,我读过的所有书

我正在尝试为hadoop编译一些java代码,需要知道需要指定什么样的类路径。对于cloudera,我在下面使用它,但对于MapR安装,我应该使用什么?令人惊讶的是,我只能在google中找到如何设置类路径,而不能找到如何设置

javac -classpath "/opt/cloudera/parcels/CDH-4.6.0-1.cdh4.6.0.p0.26/lib/hadoop/client/*" mr.java -d mr

通过反复试验找到了答案。奇怪的是,谷歌对此非常沉默,我读过的所有书籍和例子似乎都认为这太明显了,不需要打印

mkdir MyClass
javac -classpath "/opt/mapr/hadoop/hadoop-0.20.2/lib/*" MyClass.java -d MyClass
jar -cvf MyClass.jar -C MyClass .
此外,如果需要配置单元库,例如用于编译配置单元UDF:

javac -classpath "/opt/mapr/hadoop/hadoop-0.20.2/lib/*:/opt/mapr/hive/hive-0.12/lib/*" MyClass.java -d MyClass
编辑:我要添加的一件事是确保在路径周围加引号,否则linux会在命令行上扩展它,这不是您想要的。路径中的*需要按原样传递给java