无法为Hadoop生成jar文件 [英] Unable to generate jar file for Hadoop

查看:237
本文介绍了无法为Hadoop生成jar文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有16个Java文件,我正在尝试使用以下命令为Hadoop生态系统生成JAR文件:

I have 16 Java files and I am trying to generate JAR files for the Hadoop ecosystem using the below command:

javac -classpath /usr/local/hadoop/hadoop-core-1.0.3.jar:/usr/local/hadoop/lib/commons-cli-1.2.jar  JsonV.java

JsonV.java 是具有main函数的类,此Java文件调用其他Java文件。我收到以下错误,有人可以帮我解决这个问题吗?

JsonV.java is the class which has main function and this Java file calls other Java files. I am getting this below error, can anybody help me resolve this please?

JsonV.java:37: error: cannot find symbol
JSONObject obj = new JSONObject(tuple[i]);
                     ^ 
  symbol:   class JSONObject
  location: class Map
JsonV.java:37: error: cannot find symbol
                    JSONObject obj = new JSONObject(tuple[i]);
                                         ^
  symbol:   class JSONObject
  location: class Map
JsonV.java:43: error: cannot find symbol
            }catch(JSONException e){
                   ^
  symbol:   class JSONException
  location: class Map
JsonV.java:58: error: cannot find symbol
            }catch(JSONException e){
                   ^
  symbol:   class JSONException
  location: class Reduce


推荐答案

如果您使用Java 7& javax.json lib,你不需要包含任何外部文件。但是如果你使用Java 6& org.json lib,你必须显式添加JAR。但似乎它在日食中起作用。所以我猜你正在使用带有hadoop的jdk6。如果你把它改为jdk 7 for hadoop,那么问题就解决了。

If you use Java 7 & javax.json lib, you don`t need to include any external files. But if you use Java 6 & org.json lib, you have to add JAR explicitly. But it seems it works in eclipse. So I guess you are using jdk6 with hadoop. If you change it to jdk 7 for hadoop, the problem will be solved.

它在eclipse中工作,因为你用jdk 7配置你的构建路径。

It works in eclipse because you configured your build path with jdk 7.

如果你使用maven,你不得不提到pom.xml文件中的json lib依赖项。

If you use maven, you have to mention the json lib dependencies in pom.xml file.

如果你不使用maven,只需在hadoop lib dir中复制粘贴你的json lib jar并重新启动hadoop。它会起作用。

If you don't use maven, just copy paste your json lib jars in hadoop lib dir and restart hadoop. It will work.

这篇关于无法为Hadoop生成jar文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆