0
Client.java:6: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configured;
                             ^
Client.java:7: cannot find symbol
symbol  : class Tool
location: package org.apache.hadoop.util
import org.apache.hadoop.util.Tool;
                             ^
Client.java:8: cannot find symbol
symbol  : class ToolRunner
location: package org.apache.hadoop.util
import org.apache.hadoop.util.ToolRunner;
                             ^
Client.java:12: cannot find symbol
symbol: class Configured
public abstract class Client extends Configured implements Tool {
                                     ^
Client.java:12: cannot find symbol
symbol: class Tool
public abstract class Client extends Configured implements Tool {
                                                           ^
[checking Client]
[total 685ms]
5 errors

我需要如何设置类路径。

我这样设置:

CLASSPATH=$CLASSPATH:$HADOOP_HOME::$HADOOP_HOME/modules:$HADOOP_HOME/lib

即使我在命令行中直接提到指向 jar 的类路径,我也无法运行。

4

3 回答 3

0

如果您正在尝试编译您的代码,您应该考虑使用像 Maven / Ant 之类的构建工具,或者只是和像 Eclipse / Netbeans 这样的 IDE。

我个人建议使用 Maven,基本的 pom.xml 将如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                            http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>project-name</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>0.20.2</version>
        </dependency>
    </dependencies>
</project>
于 2012-05-08T11:17:02.213 回答
0

你可以用这个..

export CLASSPATH = ${CLASSPATH}:/path    // path of your jar..

看看这个设置类路径

于 2012-05-08T04:26:05.263 回答
0

jar 必须明确指定,或者如果运行 JDK6 +,则可以使用通配符。仅仅指定一个包含 jars 的目录是不够的。

任何类路径教程/资源都可以在不到几天的时间内解决这个问题。此信息也包含在 Oracle 的有关运行和编译 Java 代码的文档中。

于 2012-05-08T11:21:32.800 回答