简体   繁体   English

设置classpath后,包org.apache.hadoop.conf不存在

[英]package org.apache.hadoop.conf does not exist after setting classpath

I am a beginner in hadoop using the hadoop's beginners guide book as a tutorial. 我是hadoop的初学者,使用hadoop的初学者指南作为教程。

I am using a mac osx 10.9.2 and hadoop version 1.2.1 我使用的是mac osx 10.9.2和hadoop 1.2.1版

I have set all the appropriate class path, when I call echo $PATH in terminal: 我在终端中调用echo $ PATH时设置了所有相应的类路径:

Here is the result I get: 这是我得到的结果:

/Library/Frameworks/Python.framework/Versions/2.7/bin:/Users/oladotunopasina/hadoop-1.2.1/hadoop-core-1.2.1.jar:/Users/oladotunopasina/hadoop-1.2.1/bin:/usr/share/grails/bin:/usr/share/groovy/bin:/Users/oladotunopasina/.rvm/gems/ruby-2.1.1/bin:/Users/oladotunopasina/.rvm/gems/ruby-2.1.1@global/bin:/Users/oladotunopasina/.rvm/rubies/ruby-2.1.1/bin:/usr/local/heroku/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/oladotunopasina/.rvm/bin:/Users/oladotunopasina/.rvm/bin /Library/Frameworks/Python.framework/Versions/2.7/bin:/Users/oladotunopasina/hadoop-1.2.1/hadoop-core-1.2.1.jar:/Users/oladotunopasina/hadoop-1.2.1/bin:/ USR /股/ Grails的/ bin中:在/ usr /共享/常规/斌:/Users/oladotunopasina/.rvm/gems/ruby-2.1.1/bin:/Users/oladotunopasina/.rvm/gems/ruby-2.1.1 @全球/斌:/Users/oladotunopasina/.rvm/rubies/ruby-2.1.1/bin:在/ usr /本地/ Heroku的/ bin中:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:/ USR /local/bin:/Users/oladotunopasina/.rvm/bin:/Users/oladotunopasina/.rvm/bin

I tried compiling WordCount1.java and I am getting the following error: 我尝试编译WordCount1.java,我收到以下错误:

WordCount1.java:2: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configuration ;
                         ^
WordCount1.java:3: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.Path;
                       ^
WordCount1.java:4: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.IntWritable;
                       ^
WordCount1.java:5: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.Text;
                       ^
WordCount1.java:6: package org.apache.hadoop.mapreduce does not exist
import org.apache.hadoop.mapreduce.Job;
                              ^
WordCount1.java:7: package org.apache.hadoop.mapreduce does not exist
import org.apache.hadoop.mapreduce.Mapper;
                              ^

Kindly help. 请帮助。

The CLASSPATH variable is the way to tell applications, including the JDK tools(javac), where to look for user classes. CLASSPATH变量是告诉应用程序的方法,包括JDK工具(javac),在哪里查找用户类。

You can set this variable as given below and try compiling the class. 您可以将此变量设置为如下所示,并尝试编译该类。

export CLASSPATH=$CLASSPATH:/Users/oladotunopasina/hadoop-1.2.1/hadoop-core-1.2.1.jar

If you are using a build tools such as Maven, Gradle, sbt, etc. 如果您使用的是Maven,Gradle,sbt等构建工具。

You have to add the dependency plugin to your build file. 您必须将依赖项插件添加到构建文件中。

For Maven,per example, you have to add the following into your pom.xml 对于Maven,每个示例,您必须将以下内容添加到pom.xml中

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-core</artifactId>
    <version>1.2.1</version>
</dependency>

You can find the dependency settings for other build tools here 您可以在此处找到其他构建工具的依赖关系设置

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM