[英]classpath issue in hadoop 0.23.0 java on Ubuntu 11.10
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的classpath,我也無法運行。
如果要編譯代碼,則應使用Maven / Ant或just這樣的構建工具以及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>
必須明確指定Jar,否則如果運行JDK6 +,則可以使用通配符。 僅指定其中包含jar的目錄是不夠的。
任何classpath教程/資源都可以在不到幾天的時間內解決此問題。 該信息還包含在Oracle的有關運行和編譯Java代碼的文檔中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.