json—如何用多个外部jar编译java源文件?

55ooxyrt  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(385)

我有一个hadoop应用程序。我编写了一个java程序,它需要org.json.jar包和hadoop-core.jar。我用下面的linux命令编译这个源文件。

mkdir q3_classes
javac -classpath ${HADOOP_HOME}/hadoop-core.jar:${HADOOP_HOME}/org.json-20120521.jar -d q3_classes ETLQ3.java
jar -cvf q3.jar -C q3_classes/ .

它编译成功。但是当我用下面的命令运行这个程序时(相同的命令成功应用于wordcount示例。)

hadoop jar q3.jar MainClassName /input /output

它抛出classnotfound异常。找不到org.json.object类。
所以我想知道我的compile命令有什么问题吗?如何用这两个jar包编译java源文件?

bxjv4tth

bxjv4tth1#

你这个jar org.json-20120521.jar 可能需要发送到集群的所有节点。尝试使用--libjars选项
hadoop jar q3.jar主类名/input/output--libjars org.json-20120521.jar
确保您遵循编辑部分中的内容,了解如何实际编写mapreduce应用程序。

hfyxw5xn

hfyxw5xn2#

我猜你的类路径上没有jar。将它们添加到类路径中。

相关问题