前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Hadoop学习之编译eclipse插件

Hadoop学习之编译eclipse插件

作者头像
全栈程序员站长
发布于 2022-07-08 11:56:11
发布于 2022-07-08 11:56:11
2.1K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是全栈君。

近期准备開始学习Hadoop1.2.1的源码,感觉最好的方法还是能够在运行Hadoop及hadoop作业时跟踪调试代码的实际运行情况。因为选择的IDE为eclipse,所以准备编译一下hadoop的eclipse插件,以下就直接进入正题。Hadoop的eclipse插件源码位于hadoop-1.2.1/src/contrib/eclipse-plugin/中,直接进入该文件夹,在不做不论什么改动的情况下,在命令行输入ant,运行效果例如以下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[hadoop@hadoop eclipse-plugin]$ antBuildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xmlcheck-contrib:     [echo] eclipse.home unset: skipping eclipse plugininit:ivy-download:      [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar      [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar      [get] Not modified - so not downloadedivy-probe-antlib:ivy-init-antlib:ivy-init:[ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::[ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xmlivy-resolve-common:[ivy:resolve] [ivy:resolve] :: problems summary ::[ivy:resolve] :::: WARNINGS[ivy:resolve] 		module not found: commons-logging#commons-logging;1.0.4[ivy:resolve] 	==== local: tried[ivy:resolve] 	  /home/hadoop/.ivy2/local/commons-logging/commons-logging/1.0.4/ivys/ivy.xml[ivy:resolve] 	  -- artifact commons-logging#commons-logging;1.0.4!commons-logging.jar:[ivy:resolve] 	  /home/hadoop/.ivy2/local/commons-logging/commons-logging/1.0.4/jars/commons-logging.jar[ivy:resolve] 	==== maven2: tried[ivy:resolve] 	  http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom[ivy:resolve] 	  -- artifact commons-logging#commons-logging;1.0.4!commons-logging.jar:[ivy:resolve] 	  http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar[ivy:resolve] 	==== oss-sonatype: tried[ivy:resolve] 	  https://oss.sonatype.org/content/groups/public/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom[ivy:resolve] 	  -- artifact commons-logging#commons-logging;1.0.4!commons-logging.jar:[ivy:resolve] 	  https://oss.sonatype.org/content/groups/public/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar[ivy:resolve] 		::::::::::::::::::::::::::::::::::::::::::::::[ivy:resolve] 		::          UNRESOLVED DEPENDENCIES         ::[ivy:resolve] 		::::::::::::::::::::::::::::::::::::::::::::::[ivy:resolve] 		:: commons-logging#commons-logging;1.0.4: not found[ivy:resolve] 		::::::::::::::::::::::::::::::::::::::::::::::[ivy:resolve] :::: ERRORS[ivy:resolve] 	SERVER ERROR: Gateway Timeout url=http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom[ivy:resolve] 	SERVER ERROR: Gateway Timeout url=http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar[ivy:resolve] 	SERVER ERROR: Gateway Timeout url=http://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.jar[ivy:resolve] [ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILSBUILD FAILED/home/hadoop/hadoop-1.2.1/src/contrib/build-contrib.xml:492: impossible to resolve dependencies:	resolve failed - see output for detailsTotal time: 2 minutes 25 seconds

依据错误信息,能够将错误的根源定位到hadoop-1.2.1/src/contrib/ eclipse-plugin/ ivy.xml中的29行rev=”${commons-logging.version}”。该值能够在hadoop-1.2.1/ivy/libraries.properties中找到,其原值为1.0.4,改为commons-logging.version=1.1.1就可以。同一时候该输出信息还提示了[echo] eclipse.homeunset: skipping eclipse plugin。此信息提示变量eclipse.home未设置。而该变量在编译插件时是必须的。所以在hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml中加入eclipse的安装文件夹,加入例如以下代码:<propertyname=”eclipse.home” value=”/home/hadoop/eclipse”/>,该变量的值依据eclipse的实际安装文件夹而定。改动完成后,再次在命令行中输入ant命令,结果例如以下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [hadoop@hadoop eclipse-plugin]$ ant
Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml
check-contrib:
init:
     [echo] contrib: eclipse-plugin
init-contrib:
ivy-download:
      [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar
      [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar
      [get] Not modified - so not downloaded
ivy-probe-antlib:
ivy-init-antlib:
ivy-init:
[ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::
[ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml
ivy-resolve-common:
ivy-retrieve-common:
[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead
[ivy:cachepath] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml
compile:
     [echo] contrib: eclipse-plugin
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml:61: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 45 source files to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/classes
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:28: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.FileStatus;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:29: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.Path;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:25: 软件包 org.apache.hadoop.hdfs 不存在
    [javac] import org.apache.hadoop.hdfs.DistributedFileSystem;
    [javac]                              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:29: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.FileSystem;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:30: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.Path;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:36: 软件包 org.apache.hadoop.conf 不存在
    [javac] import org.apache.hadoop.conf.Configuration;
    [javac]                              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:38: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.FileSystem;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:39: 软件包 org.apache.hadoop.io 不存在
    [javac] import org.apache.hadoop.io.IOUtils;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:40: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.JobClient;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:41: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.JobConf;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:42: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.JobID;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:43: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.JobStatus;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:44: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.RunningJob;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:54: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder
    [javac]   private DFSFolder(DFSPath parent, Path path) {
    [javac]                                     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:43: 找不到符号
    [javac] 符号: 类 DistributedFileSystem
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]   private DistributedFileSystem dfs = null;
    [javac]           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:45: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]   protected final Path path;
    [javac]                   ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:76: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]   protected DFSPath(DFSPath parent, Path path) {
    [javac]                                     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:134: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]   public Path getPath() {
    [javac]          ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:144: 找不到符号
    [javac] 符号: 类 DistributedFileSystem
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]   DistributedFileSystem getDFS() throws IOException {
    [javac]   ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSLocationsRoot.java:28: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.FileSystem;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:199: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]   private Configuration conf;
    [javac]           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:209: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]   private transient Map<JobID, HadoopJob> runningJobs =
    [javac]                         ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:24: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.FileSystem;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:25: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.FileUtil;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:26: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.Path;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:27: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.Counters;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:28: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.JobConf;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:29: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.JobID;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:30: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.JobStatus;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:31: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.RunningJob;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:291: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]   public Configuration getConfiguration() {
    [javac]          ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/ConfProp.java:24: 软件包 org.apache.hadoop.conf 不存在
    [javac] import org.apache.hadoop.conf.Configuration;
    [javac]                              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:468: 找不到符号
    [javac] 符号: 类 FileSystem
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]   public FileSystem getDFS() throws IOException {
    [javac]          ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:477: 找不到符号
    [javac] 符号: 类 JobClient
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]   public JobClient getJobClient() throws IOException {
    [javac]          ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:76: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   final JobID jobId;
    [javac]         ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:82: 找不到符号
    [javac] 符号: 类 RunningJob
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   RunningJob running;
    [javac]   ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:89: 找不到符号
    [javac] 符号: 类 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   JobStatus status;
    [javac]   ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:94: 找不到符号
    [javac] 符号: 类 Counters
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   Counters counters;
    [javac]   ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:99: 找不到符号
    [javac] 符号: 类 JobConf
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   JobConf jobConf = null;
    [javac]   ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:127: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   public HadoopJob(HadoopServer location, JobID id, RunningJob running,
    [javac]                                           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:127: 找不到符号
    [javac] 符号: 类 RunningJob
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   public HadoopJob(HadoopServer location, JobID id, RunningJob running,
    [javac]                                                     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:128: 找不到符号
    [javac] 符号: 类 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]       JobStatus status) {
    [javac]       ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:215: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   public JobID getJobID() {
    [javac]          ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:278: 找不到符号
    [javac] 符号: 类 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]   void update(JobStatus status) {
    [javac]               ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:88: 找不到符号
    [javac] 符号: 类 JobClient
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]     JobClient client = null;
    [javac]     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:181: 找不到符号
    [javac] 符号: 类 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]     private void updateJob(final HadoopJob job, JobStatus status) {
    [javac]                                                 ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/ConfProp.java:138: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.ConfProp
    [javac]   String get(Configuration conf) {
    [javac]              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/ConfProp.java:142: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.ConfProp
    [javac]   void set(Configuration conf, String value) {
    [javac]            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFile.java:34: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.FileStatus;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFile.java:35: 软件包 org.apache.hadoop.fs 不存在
    [javac] import org.apache.hadoop.fs.Path;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFile.java:63: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFile
    [javac]   public DFSFile(DFSPath parent, Path path, File file,
    [javac]                                  ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFile.java:70: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFile
    [javac]   public DFSFile(DFSPath parent, Path path) {
    [javac]                                  ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/servers/HadoopLocationWizard.java:31: 软件包 org.apache.hadoop.conf 不存在
    [javac] import org.apache.hadoop.conf.Configuration;
    [javac]                              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/servers/RunOnHadoopWizard.java:31: 软件包 org.apache.hadoop.io 不存在
    [javac] import org.apache.hadoop.io.IOUtils;
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/servers/RunOnHadoopWizard.java:32: 软件包 org.apache.hadoop.mapred 不存在
    [javac] import org.apache.hadoop.mapred.JobConf;
    [javac]                                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/servers/ServerRegistry.java:31: 软件包 org.apache.hadoop.conf 不存在
    [javac] import org.apache.hadoop.conf.Configuration;
    [javac]                              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:66: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]     this.path = new Path("/");
    [javac]                     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:146: 找不到符号
    [javac] 符号: 类 FileSystem
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]       FileSystem fs = location.getDFS();
    [javac]       ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:147: 找不到符号
    [javac] 符号: 类 DistributedFileSystem
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]       if (!(fs instanceof DistributedFileSystem)) {
    [javac]                           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:153: 找不到符号
    [javac] 符号: 类 DistributedFileSystem
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath
    [javac]       this.dfs = (DistributedFileSystem) fs;
    [javac]                   ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:61: 找不到符号
    [javac] 符号: 类 FileStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder
    [javac]     for (FileStatus status : getDFS().listStatus(this.getPath())) {
    [javac]          ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:82: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder
    [javac]       Path filePath = new Path(this.path, file.getName());
    [javac]       ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:82: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder
    [javac]       Path filePath = new Path(this.path, file.getName());
    [javac]                           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:93: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder
    [javac]       Path filePath = new Path(this.path, file.getName());
    [javac]       ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:93: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder
    [javac]       Path filePath = new Path(this.path, file.getName());
    [javac]                           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:152: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder
    [javac]       getDFS().mkdirs(new Path(this.path, folderName));
    [javac]                           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:116: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]         Set<JobID> missingJobIds =
    [javac]             ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:117: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]             new HashSet<JobID>(runningJobs.keySet());
    [javac]                         ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:119: 找不到符号
    [javac] 符号: 类 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]         JobStatus[] jstatus = client.jobsToComplete();
    [javac]         ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:120: 找不到符号
    [javac] 符号: 类 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]         for (JobStatus status : jstatus) {
    [javac]              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:122: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]           JobID jobId = status.getJobID();
    [javac]           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:130: 找不到符号
    [javac] 符号: 类 RunningJob
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]               RunningJob running = client.getJob(jobId);
    [javac]               ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:142: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater
    [javac]         for (JobID jobId : missingJobIds) {
    [javac]              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:210: 找不到符号
    [javac] 符号: 类 JobID
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]       Collections.synchronizedMap(new TreeMap<JobID, HadoopJob>());
    [javac]                                               ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:224: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     this.conf = new Configuration();
    [javac]                     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:238: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     this.conf = new Configuration();
    [javac]                     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:338: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     this.conf = new Configuration(existing.conf);
    [javac]                     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:354: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     Configuration newConf = new Configuration(this.conf);
    [javac]     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:354: 找不到符号
    [javac] 符号: 类 Configuration
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     Configuration newConf = new Configuration(this.conf);
    [javac]                                 ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:429: 找不到符号
    [javac] 符号: 变量 IOUtils
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]       IOUtils.closeStream(fos);
    [javac]       ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:469: 找不到符号
    [javac] 符号: 变量 FileSystem
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     return FileSystem.get(this.conf);
    [javac]            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:478: 找不到符号
    [javac] 符号: 类 JobConf
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     JobConf jconf = new JobConf(this.conf);
    [javac]     ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:478: 找不到符号
    [javac] 符号: 类 JobConf
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     JobConf jconf = new JobConf(this.conf);
    [javac]                         ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:479: 找不到符号
    [javac] 符号: 类 JobClient
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer
    [javac]     return new JobClient(jconf);
    [javac]                ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSLocationsRoot.java:131: 找不到符号
    [javac] 符号: 变量 FileSystem
    [javac]           FileSystem.closeAll();
    [javac]           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:43: 找不到符号
    [javac] 符号: 变量 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState
    [javac]     PREPARE(JobStatus.PREP), RUNNING(JobStatus.RUNNING), FAILED(
    [javac]             ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:43: 找不到符号
    [javac] 符号: 变量 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState
    [javac]     PREPARE(JobStatus.PREP), RUNNING(JobStatus.RUNNING), FAILED(
    [javac]                                      ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:44: 找不到符号
    [javac] 符号: 变量 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState
    [javac]         JobStatus.FAILED), SUCCEEDED(JobStatus.SUCCEEDED);
    [javac]         ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:44: 找不到符号
    [javac] 符号: 变量 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState
    [javac]         JobStatus.FAILED), SUCCEEDED(JobStatus.SUCCEEDED);
    [javac]                                      ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:54: 找不到符号
    [javac] 符号: 变量 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState
    [javac]         case JobStatus.PREP:
    [javac]              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:56: 找不到符号
    [javac] 符号: 变量 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState
    [javac]         case JobStatus.RUNNING:
    [javac]              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:58: 找不到符号
    [javac] 符号: 变量 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState
    [javac]         case JobStatus.FAILED:
    [javac]              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:60: 找不到符号
    [javac] 符号: 变量 JobStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState
    [javac]         case JobStatus.SUCCEEDED:
    [javac]              ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:146: 找不到符号
    [javac] 符号: 类 FileSystem
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]       FileSystem fs = location.getDFS();
    [javac]       ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:148: 找不到符号
    [javac] 符号: 类 Path
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]       if (FileUtil.copy(fs, new Path(jobFile), tmp, false, location
    [javac]                                 ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:148: 找不到符号
    [javac] 符号: 变量 FileUtil
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]       if (FileUtil.copy(fs, new Path(jobFile), tmp, false, location
    [javac]           ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:150: 找不到符号
    [javac] 符号: 类 JobConf
    [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob
    [javac]         this.jobConf = new JobConf(tmp.toString());
    [javac]                            ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:302: 软件包 Counters 不存在
    [javac]       Counters.Group group = counters.getGroup(groupName);
    [javac]               ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:305: 软件包 Counters 不存在
    [javac]       for (Counters.Counter counter : group) {
    [javac]                    ^
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFile.java:74: 找不到符号
    [javac] 符号: 类 FileStatus
    [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFile
    [javac]       FileStatus fs = getDFS().getFileStatus(path);
    [javac]       ^
    [javac] 注意:某些输入文件使用或覆盖了已过时的 API[javac] 注意:要了解具体信息,请使用 -Xlint:deprecation 又一次编译。    [javac] 注意:某些输入文件使用了未经检查或不安全的操作。    [javac] 注意:要了解具体信息,请使用 -Xlint:unchecked 又一次编译。    [javac] 100 错误BUILD FAILED/home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml:61: Compile failed; see the compiler error output for details.Total time: 12 seconds

由错误信息可知,classpath中没有包括hadoop对应的jar包。解决方法为在hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml中加入以下的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <path>
         <filesetdir="${hadoop.root}">
           <include name="hadoop*.jar"/>
         </fileset>
    </path>

同一时候将hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml中的<copyfile=”{build.dir}/lib/hadoop-core.jar”verbose=”true”/>为<copy file=”{version}.jar”tofile=”{build.dir}/lib/hadoop-core.jar”verbose=”true”/>,做完这些改动后,再次运行ant命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[hadoop@hadoop eclipse-plugin]$ ant
Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml
check-contrib:
init:
     [echo] contrib: eclipse-plugin
init-contrib:
ivy-download:
      [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar
      [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar
      [get] Not modified - so not downloaded
ivy-probe-antlib:
ivy-init-antlib:
ivy-init:
[ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::
[ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml
ivy-resolve-common:
ivy-retrieve-common:
[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead
[ivy:cachepath] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml
compile:
     [echo] contrib: eclipse-plugin
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml:66: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 45 source files to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/classes
    [javac] 注意:某些输入文件使用或覆盖了已过时的 API[javac] 注意:要了解具体信息,请使用 -Xlint:deprecation 又一次编译。    [javac] 注意:某些输入文件使用了未经检查或不安全的操作。    [javac] 注意:要了解具体信息。请使用 -Xlint:unchecked 又一次编译。jar:    [mkdir] Created dir: /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/libBUILD FAILED/home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml:74: Warning: Could not find file /home/hadoop/hadoop-1.2.1/hadoop-core-${version}.jar to copy.Total time: 8 seconds

这次编译失败的原因是找不到hadoop-core-{version}.jar,也就是变量{version}没有定义,事实上在/hadoop-1.2.1/ivy/libraries.properties中定义了hadoop.version=1.2.1而不是version变量,或者将version替换为hadoop.version。或者在build.xml加入变量version,此次编译过程中选择后者<property name=”version” value=”1.2.1″/>,再次运行ant:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [hadoop@hadoop eclipse-plugin]$ ant
Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml
check-contrib:
init:
     [echo] contrib: eclipse-plugin
init-contrib:
ivy-download:
      [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar
      [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar
      [get] Not modified - so not downloaded
ivy-probe-antlib:
ivy-init-antlib:
ivy-init:
[ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::
[ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml
ivy-resolve-common:
ivy-retrieve-common:
[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead
[ivy:cachepath] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml
compile:
     [echo] contrib: eclipse-plugin
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml:67: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
jar:
     [copy] Copying 1 file to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/lib
     [copy] Copying /home/hadoop/hadoop-1.2.1/hadoop-core-1.2.1.jar to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/lib/hadoop-core.jar
BUILD FAILED
/home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml:76: Warning: Could not find file /home/hadoop/hadoop-1.2.1/build/ivy/lib/Hadoop/common/commons-cli-1.2.jar to copy.
Total time: 17 seconds

失败原因是找不到commons-cli-1.2.jar。

修复方法是改动build.xml文件,将<copy file=”{build.dir}/lib”verbose=”true”/>改动为<copyfile=”{commons-cli.version}.jar” todir=”{build.dir}/lib”verbose=”true”/>,再次运行ant:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[hadoop@hadoop eclipse-plugin]$ ant
Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/ build.xml
check-contrib:
init:
     [echo] contrib: eclipse-plugin
init-contrib:
ivy-download:
      [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar
      [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar
      [get] Not modified - so not downloaded
ivy-probe-antlib:
ivy-init-antlib:
ivy-init:
[ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::
[ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml
ivy-resolve-common:
ivy-retrieve-common:
[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead
[ivy:cachepath] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml
compile:
     [echo] contrib: eclipse-plugin
    [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml:67: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
jar:
     [copy] Copying 1 file to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/lib
     [copy] Copying /home/hadoop/hadoop-1.2.1/lib/commons-cli-1.2.jar to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/lib/commons-cli-1.2.jar
      [jar] Building jar: /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/hadoop-eclipse-plugin-1.2.1.jar
BUILD SUCCESSFUL
Total time: 10 seconds

至此编译hadoop的eclipse插件成功完毕。接下来试试能否够正常工作,将编译成功的hadoop-1.2.1/build/contrib/eclipse-plugin/hadoop-eclipse-plugin-1.2.1.jar文件复制到eclipse下的plugins文件夹中,然后启动eclipse,在File菜单下选择New子菜单下的Other,弹出以下的窗体。能够发现已经有了Map/Reduce,说明插件已经生效。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115916.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
opencv调取摄像头录制
淼学派对
2023/10/14
2670
opencv调取摄像头录制
python版的openCV使用及下载
截止目前:现在OpenCV使用环境还是python3.8的版本所以咱们下载时记得用3.8版本的
用户10922923
2024/04/22
1.4K0
python版的openCV使用及下载
OpenCV 图像与视频的基础操作
在计算机视觉领域,OpenCV是一款广泛使用的开源库,用于图像处理和计算机视觉任务。当你开始使用OpenCV时,了解如何创建和显示窗口,以及加载和保存图片是至关重要的基础知识。本文将介绍如何使用OpenCV进行这些操作,帮助你更好地掌握图像处理和视觉任务的开发技巧。
繁依Fanyi
2023/10/12
3820
OpenCV 图像与视频的基础操作
计算机视觉:1.1~2.5 初等概念及OpenCV的使用
现在说的机器视觉(Machine Vision)一般指计算机视觉(Computer Vision),简单来说就是研究如何使机器看懂东西。就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更合适人眼观察或传送给仪器检测的图像。
DioxideCN
2022/08/05
1.3K0
计算机视觉:1.1~2.5 初等概念及OpenCV的使用
opencv之打开摄像头、边缘检测
许多工业相机或某些视频I / O设备不为操作系统提供标准的驱动程序接口。因此,您不能在这些设备上使用VideoCapture或VideoWriter。
全栈程序员站长
2022/07/23
3.5K0
opencv之打开摄像头、边缘检测
OpenCV计算机视觉整理图像、视频加载与显示OpenCV的色彩空间OpenCV图形绘制
每一个像素有三种颜色——红色、绿色和蓝色。通过不同光源的组合,形成真彩色,有暗的,有明亮的。
算法之名
2021/11/15
9480
OpenCV计算机视觉整理图像、视频加载与显示OpenCV的色彩空间OpenCV图形绘制
使用OpenCV调用摄像头,显示图片,获取视频并保存
友情链接:https://blog.csdn.net/u012348774/article/details/78255130
种花家的奋斗兔
2020/11/13
4.2K0
OpenCV 系列教程1 | OpenCV 的 GUI 特性
Matplotlib是一个用于Python的绘图库,它提供了多种绘图方法。在这里,将学习如何使用 Matplotlib 显示图像。可以使用 Matplotlib 放大图片,保存图片等。
机器视觉CV
2019/07/15
3.6K0
OpenCV 系列教程1 | OpenCV 的 GUI 特性
使用Opencv-python库读取图像、本地视频和摄像头实时数据
Python中使用OpenCV读取图像、本地视频和摄像头数据很简单, 首先需要安装Python,然后安装Opencv-python库
ccf19881030
2024/05/24
1.6K0
使用Opencv-python库读取图像、本地视频和摄像头实时数据
关于OpenCV for Python入门-图片和摄像头显示
OpenCV和Python结合的学习资料不多,网上的资料更是鱼目混杂,推荐大家OpenCV官方教程中文版 for Python,建议自行下载。
python与大数据分析
2022/04/02
1.4K0
关于OpenCV for Python入门-图片和摄像头显示
OpenCVSharp学习笔记(三)显示摄像头视频和媒体视频&录制
视频录制的方法也比较简单,只需要使用VideoWriter类进行录制,将获取到的每帧画面放入,并设置路径和输出格式即可
MaybeHC
2024/04/23
5710
OpenCVSharp学习笔记(三)显示摄像头视频和媒体视频&录制
OpenCV-Python学习教程.1
因为最近做图形算法比较多,所以对cv2熟悉是必然的,倒是和以前的函数差不多,就是一些小细节不太一样。
云深无际
2021/04/14
5890
OpenCV-Python学习教程.1
OpenCV调用摄像头
python:python3.6 摄像头:网络摄像头 Python库:openCV
py3study
2020/01/02
1.8K0
Python-OpenCV,基于标准文档的实例(一)
OpenCV是一个C++库,用于实时处理计算机视觉方面的问题,涵盖了很多计算机视觉领域的模块。
王也518
2022/10/26
7740
Python-OpenCV,基于标准文档的实例(一)
OpenCV学习笔记(Python)
警告: 就算图像的路径是错的, OpenCV 也不会提醒你的,但是当你使用命 令print img时得到的结果是None。
一点儿也不潇洒
2018/08/07
3.7K0
OpenCV学习笔记(Python)
OpenCV进行人脸识别(Python)
https://gitee.com/mirrors/opencv/tree/4.x/data/haarcascades
码客说
2022/09/27
9190
OpenCV进行人脸识别(Python)
Python基于opencv调用摄像头获取个人图片的实现方法
接触图像领域的应该对于opencv都不会感到陌生,这个应该算是功能十分强劲的一个算法库了,当然了,使用起来也是很方便的,之前使用Windows7的时候出现多该库难以安装成功的情况,现在这个问题就不存在了,需要安装包的话可以去我的资源中下载使用,使用pip安装方式十分地便捷。
matinal
2020/11/27
1.8K0
Python基于opencv调用摄像头获取个人图片的实现方法
cv2.VideoWriter_fourcc()
#环境:opencv 3.4.0 python 3.5.2#读取视频import cv2cap = cv2.VideoCapture('video.avi')#读取摄像头,0为摄像头索引,当有多个摄像头时,从0开始编号cap = cv2.VideoCapture(0)#从视频或摄像头中读取一帧(即一张图像),返回是否成功标识ret(True代表成功,False代表失败),img为读取的视频帧ret,frame = cap.read()----#完整的读取视频流并播放视频流代码 # -*- coding
狼啸风云
2019/09/19
15.5K0
Python Opencv捕获视频
这一句表示调用计算机内置摄像头来获取视频,如果传入参数为1时,表示调用计算机外置摄像头,比如usb连接的摄像头等。VideoCapture对象也可以传入视频文件地址。
云深无际
2021/03/12
1.3K0
Python Opencv捕获视频
视频人脸检测——OpenCV版(三)
视频人脸检测是图片人脸检测的高级版本,图片检测详情点击查看我的上一篇《图片人脸检测——OpenCV版(二)》 实现思路: 调用电脑的摄像头,把摄像的信息逐帧分解成图片,基于图片检测标识出人脸的位置,
磊哥
2018/05/08
1.3K0
视频人脸检测——OpenCV版(三)
推荐阅读
相关推荐
opencv调取摄像头录制
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档