Hadoop学习之编译eclipse插件

最近准备开始学习Hadoop1.2.1的源代码,感觉最好的方法还是可以在运行Hadoop及hadoop作业时跟踪调试代码的实际执行情况。由于选择的IDE为eclipse,所以准备编译一下hadoop的eclipse插件,下面就直接进入正题。Hadoop的eclipse插件源代码位于hadoop-1.2.1/src/contrib/eclipse-plugin/中,直接进入该目录,在不做任何修改的情况下,在命令行输入ant,执行效果如下:
[java] view plain copy print ?
  1. [hadoop@hadoop eclipse-plugin]$ ant  
  2. Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml  
  3. check-contrib:  
  4.      [echo] eclipse.home unset: skipping eclipse plugin  
  5. init:  
  6. ivy-download:  
  7.       [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar  
  8.       [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar  
  9.       [get] Not modified - so not downloaded  
  10. ivy-probe-antlib:  
  11. ivy-init-antlib:  
  12. ivy-init:  
  13. [ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::  
  14. [ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  15. ivy-resolve-common:  
  16. [ivy:resolve]   
  17. [ivy:resolve] :: problems summary ::  
  18. [ivy:resolve] :::: WARNINGS  
  19. [ivy:resolve]       module not found: commons-logging#commons-logging;1.0.4  
  20. [ivy:resolve]   ==== local: tried  
  21. [ivy:resolve]     /home/hadoop/.ivy2/local/commons-logging/commons-logging/1.0.4/ivys/ivy.xml  
  22. [ivy:resolve]     -- artifact commons-logging#commons-logging;1.0.4!commons-logging.jar:  
  23. [ivy:resolve]     /home/hadoop/.ivy2/local/commons-logging/commons-logging/1.0.4/jars/commons-logging.jar  
  24. [ivy:resolve]   ==== maven2: tried  
  25. [ivy:resolve]     http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom  
  26. [ivy:resolve]     -- artifact commons-logging#commons-logging;1.0.4!commons-logging.jar:  
  27. [ivy:resolve]     http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar  
  28. [ivy:resolve]   ==== oss-sonatype: tried  
  29. [ivy:resolve]     https://oss.sonatype.org/content/groups/public/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom  
  30. [ivy:resolve]     -- artifact commons-logging#commons-logging;1.0.4!commons-logging.jar:  
  31. [ivy:resolve]     https://oss.sonatype.org/content/groups/public/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar  
  32. [ivy:resolve]       ::::::::::::::::::::::::::::::::::::::::::::::  
  33. [ivy:resolve]       ::          UNRESOLVED DEPENDENCIES         ::  
  34. [ivy:resolve]       ::::::::::::::::::::::::::::::::::::::::::::::  
  35. [ivy:resolve]       :: commons-logging#commons-logging;1.0.4: not found  
  36. [ivy:resolve]       ::::::::::::::::::::::::::::::::::::::::::::::  
  37. [ivy:resolve] :::: ERRORS  
  38. [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  
  39. [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  
  40. [ivy:resolve]   SERVER ERROR: Gateway Timeout url=http://repo1.maven.org/maven2/log4j/log4j/1.2.15/log4j-1.2.15.jar  
  41. [ivy:resolve]   
  42. [ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS  
  43. BUILD FAILED  
  44. /home/hadoop/hadoop-1.2.1/src/contrib/build-contrib.xml:492: impossible to resolve dependencies:  
  45.     resolve failed - see output for details  
  46. Total 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命令,结果如下:

[java] view plain copy print ?
  1.  [hadoop@hadoop eclipse-plugin]$ ant  
  2. Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml  
  3. check-contrib:  
  4. init:  
  5.      [echo] contrib: eclipse-plugin  
  6. init-contrib:  
  7. ivy-download:  
  8.       [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar  
  9.       [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar  
  10.       [get] Not modified - so not downloaded  
  11. ivy-probe-antlib:  
  12. ivy-init-antlib:  
  13. ivy-init:  
  14. [ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::  
  15. [ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  16. ivy-resolve-common:  
  17. ivy-retrieve-common:  
  18. [ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead  
  19. [ivy:cachepath] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  20. compile:  
  21.      [echo] contrib: eclipse-plugin  
  22.     [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  
  23.     [javac] Compiling 45 source files to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/classes  
  24.     [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 不存在  
  25.     [javac] import org.apache.hadoop.fs.FileStatus;  
  26.     [javac]                            ^  
  27.     [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 不存在  
  28.     [javac] import org.apache.hadoop.fs.Path;  
  29.     [javac]                            ^  
  30.     [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 不存在  
  31.     [javac] import org.apache.hadoop.hdfs.DistributedFileSystem;  
  32.     [javac]                              ^  
  33.     [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 不存在  
  34.     [javac] import org.apache.hadoop.fs.FileSystem;  
  35.     [javac]                            ^  
  36.     [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 不存在  
  37.     [javac] import org.apache.hadoop.fs.Path;  
  38.     [javac]                            ^  
  39.     [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 不存在  
  40.     [javac] import org.apache.hadoop.conf.Configuration;  
  41.     [javac]                              ^  
  42.     [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 不存在  
  43.     [javac] import org.apache.hadoop.fs.FileSystem;  
  44.     [javac]                            ^  
  45.     [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 不存在  
  46.     [javac] import org.apache.hadoop.io.IOUtils;  
  47.     [javac]                            ^  
  48.     [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 不存在  
  49.     [javac] import org.apache.hadoop.mapred.JobClient;  
  50.     [javac]                                ^  
  51.     [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 不存在  
  52.     [javac] import org.apache.hadoop.mapred.JobConf;  
  53.     [javac]                                ^  
  54.     [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 不存在  
  55.     [javac] import org.apache.hadoop.mapred.JobID;  
  56.     [javac]                                ^  
  57.     [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 不存在  
  58.     [javac] import org.apache.hadoop.mapred.JobStatus;  
  59.     [javac]                                ^  
  60.     [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 不存在  
  61.     [javac] import org.apache.hadoop.mapred.RunningJob;  
  62.     [javac]                                ^  
  63.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:54: 找不到符号  
  64.     [javac] 符号: 类 Path  
  65.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder  
  66.     [javac]   private DFSFolder(DFSPath parent, Path path) {  
  67.     [javac]                                     ^  
  68.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:43: 找不到符号  
  69.     [javac] 符号: 类 DistributedFileSystem  
  70.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  71.     [javac]   private DistributedFileSystem dfs = null;  
  72.     [javac]           ^  
  73.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:45: 找不到符号  
  74.     [javac] 符号: 类 Path  
  75.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  76.     [javac]   protected final Path path;  
  77.     [javac]                   ^  
  78.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:76: 找不到符号  
  79.     [javac] 符号: 类 Path  
  80.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  81.     [javac]   protected DFSPath(DFSPath parent, Path path) {  
  82.     [javac]                                     ^  
  83.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:134: 找不到符号  
  84.     [javac] 符号: 类 Path  
  85.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  86.     [javac]   public Path getPath() {  
  87.     [javac]          ^  
  88.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:144: 找不到符号  
  89.     [javac] 符号: 类 DistributedFileSystem  
  90.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  91.     [javac]   DistributedFileSystem getDFS() throws IOException {  
  92.     [javac]   ^  
  93.     [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 不存在  
  94.     [javac] import org.apache.hadoop.fs.FileSystem;  
  95.     [javac]                            ^  
  96.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:199: 找不到符号  
  97.     [javac] 符号: 类 Configuration  
  98.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  99.     [javac]   private Configuration conf;  
  100.     [javac]           ^  
  101.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:209: 找不到符号  
  102.     [javac] 符号: 类 JobID  
  103.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  104.     [javac]   private transient Map<JobID, HadoopJob> runningJobs =  
  105.     [javac]                         ^  
  106.     [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 不存在  
  107.     [javac] import org.apache.hadoop.fs.FileSystem;  
  108.     [javac]                            ^  
  109.     [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 不存在  
  110.     [javac] import org.apache.hadoop.fs.FileUtil;  
  111.     [javac]                            ^  
  112.     [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 不存在  
  113.     [javac] import org.apache.hadoop.fs.Path;  
  114.     [javac]                            ^  
  115.     [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 不存在  
  116.     [javac] import org.apache.hadoop.mapred.Counters;  
  117.     [javac]                                ^  
  118.     [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 不存在  
  119.     [javac] import org.apache.hadoop.mapred.JobConf;  
  120.     [javac]                                ^  
  121.     [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 不存在  
  122.     [javac] import org.apache.hadoop.mapred.JobID;  
  123.     [javac]                                ^  
  124.     [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 不存在  
  125.     [javac] import org.apache.hadoop.mapred.JobStatus;  
  126.     [javac]                                ^  
  127.     [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 不存在  
  128.     [javac] import org.apache.hadoop.mapred.RunningJob;  
  129.     [javac]                                ^  
  130.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:291: 找不到符号  
  131.     [javac] 符号: 类 Configuration  
  132.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  133.     [javac]   public Configuration getConfiguration() {  
  134.     [javac]          ^  
  135.     [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 不存在  
  136.     [javac] import org.apache.hadoop.conf.Configuration;  
  137.     [javac]                              ^  
  138.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:468: 找不到符号  
  139.     [javac] 符号: 类 FileSystem  
  140.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  141.     [javac]   public FileSystem getDFS() throws IOException {  
  142.     [javac]          ^  
  143.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:477: 找不到符号  
  144.     [javac] 符号: 类 JobClient  
  145.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  146.     [javac]   public JobClient getJobClient() throws IOException {  
  147.     [javac]          ^  
  148.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:76: 找不到符号  
  149.     [javac] 符号: 类 JobID  
  150.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  151.     [javac]   final JobID jobId;  
  152.     [javac]         ^  
  153.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:82: 找不到符号  
  154.     [javac] 符号: 类 RunningJob  
  155.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  156.     [javac]   RunningJob running;  
  157.     [javac]   ^  
  158.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:89: 找不到符号  
  159.     [javac] 符号: 类 JobStatus  
  160.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  161.     [javac]   JobStatus status;  
  162.     [javac]   ^  
  163.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:94: 找不到符号  
  164.     [javac] 符号: 类 Counters  
  165.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  166.     [javac]   Counters counters;  
  167.     [javac]   ^  
  168.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:99: 找不到符号  
  169.     [javac] 符号: 类 JobConf  
  170.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  171.     [javac]   JobConf jobConf = null;  
  172.     [javac]   ^  
  173.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:127: 找不到符号  
  174.     [javac] 符号: 类 JobID  
  175.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  176.     [javac]   public HadoopJob(HadoopServer location, JobID id, RunningJob running,  
  177.     [javac]                                           ^  
  178.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:127: 找不到符号  
  179.     [javac] 符号: 类 RunningJob  
  180.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  181.     [javac]   public HadoopJob(HadoopServer location, JobID id, RunningJob running,  
  182.     [javac]                                                     ^  
  183.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:128: 找不到符号  
  184.     [javac] 符号: 类 JobStatus  
  185.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  186.     [javac]       JobStatus status) {  
  187.     [javac]       ^  
  188.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:215: 找不到符号  
  189.     [javac] 符号: 类 JobID  
  190.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  191.     [javac]   public JobID getJobID() {  
  192.     [javac]          ^  
  193.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:278: 找不到符号  
  194.     [javac] 符号: 类 JobStatus  
  195.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  196.     [javac]   void update(JobStatus status) {  
  197.     [javac]               ^  
  198.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:88: 找不到符号  
  199.     [javac] 符号: 类 JobClient  
  200.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  201.     [javac]     JobClient client = null;  
  202.     [javac]     ^  
  203.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:181: 找不到符号  
  204.     [javac] 符号: 类 JobStatus  
  205.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  206.     [javac]     private void updateJob(final HadoopJob job, JobStatus status) {  
  207.     [javac]                                                 ^  
  208.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/ConfProp.java:138: 找不到符号  
  209.     [javac] 符号: 类 Configuration  
  210.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.ConfProp  
  211.     [javac]   String get(Configuration conf) {  
  212.     [javac]              ^  
  213.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/ConfProp.java:142: 找不到符号  
  214.     [javac] 符号: 类 Configuration  
  215.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.ConfProp  
  216.     [javac]   void set(Configuration conf, String value) {  
  217.     [javac]            ^  
  218.     [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 不存在  
  219.     [javac] import org.apache.hadoop.fs.FileStatus;  
  220.     [javac]                            ^  
  221.     [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 不存在  
  222.     [javac] import org.apache.hadoop.fs.Path;  
  223.     [javac]                            ^  
  224.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFile.java:63: 找不到符号  
  225.     [javac] 符号: 类 Path  
  226.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFile  
  227.     [javac]   public DFSFile(DFSPath parent, Path path, File file,  
  228.     [javac]                                  ^  
  229.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFile.java:70: 找不到符号  
  230.     [javac] 符号: 类 Path  
  231.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFile  
  232.     [javac]   public DFSFile(DFSPath parent, Path path) {  
  233.     [javac]                                  ^  
  234.     [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 不存在  
  235.     [javac] import org.apache.hadoop.conf.Configuration;  
  236.     [javac]                              ^  
  237.     [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 不存在  
  238.     [javac] import org.apache.hadoop.io.IOUtils;  
  239.     [javac]                            ^  
  240.     [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 不存在  
  241.     [javac] import org.apache.hadoop.mapred.JobConf;  
  242.     [javac]                                ^  
  243.     [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 不存在  
  244.     [javac] import org.apache.hadoop.conf.Configuration;  
  245.     [javac]                              ^  
  246.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:66: 找不到符号  
  247.     [javac] 符号: 类 Path  
  248.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  249.     [javac]     this.path = new Path("/");  
  250.     [javac]                     ^  
  251.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:146: 找不到符号  
  252.     [javac] 符号: 类 FileSystem  
  253.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  254.     [javac]       FileSystem fs = location.getDFS();  
  255.     [javac]       ^  
  256.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:147: 找不到符号  
  257.     [javac] 符号: 类 DistributedFileSystem  
  258.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  259.     [javac]       if (!(fs instanceof DistributedFileSystem)) {  
  260.     [javac]                           ^  
  261.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:153: 找不到符号  
  262.     [javac] 符号: 类 DistributedFileSystem  
  263.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSPath  
  264.     [javac]       this.dfs = (DistributedFileSystem) fs;  
  265.     [javac]                   ^  
  266.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:61: 找不到符号  
  267.     [javac] 符号: 类 FileStatus  
  268.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder  
  269.     [javac]     for (FileStatus status : getDFS().listStatus(this.getPath())) {  
  270.     [javac]          ^  
  271.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:82: 找不到符号  
  272.     [javac] 符号: 类 Path  
  273.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder  
  274.     [javac]       Path filePath = new Path(this.path, file.getName());  
  275.     [javac]       ^  
  276.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:82: 找不到符号  
  277.     [javac] 符号: 类 Path  
  278.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder  
  279.     [javac]       Path filePath = new Path(this.path, file.getName());  
  280.     [javac]                           ^  
  281.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:93: 找不到符号  
  282.     [javac] 符号: 类 Path  
  283.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder  
  284.     [javac]       Path filePath = new Path(this.path, file.getName());  
  285.     [javac]       ^  
  286.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:93: 找不到符号  
  287.     [javac] 符号: 类 Path  
  288.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder  
  289.     [javac]       Path filePath = new Path(this.path, file.getName());  
  290.     [javac]                           ^  
  291.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:152: 找不到符号  
  292.     [javac] 符号: 类 Path  
  293.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFolder  
  294.     [javac]       getDFS().mkdirs(new Path(this.path, folderName));  
  295.     [javac]                           ^  
  296.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:116: 找不到符号  
  297.     [javac] 符号: 类 JobID  
  298.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  299.     [javac]         Set<JobID> missingJobIds =  
  300.     [javac]             ^  
  301.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:117: 找不到符号  
  302.     [javac] 符号: 类 JobID  
  303.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  304.     [javac]             new HashSet<JobID>(runningJobs.keySet());  
  305.     [javac]                         ^  
  306.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:119: 找不到符号  
  307.     [javac] 符号: 类 JobStatus  
  308.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  309.     [javac]         JobStatus[] jstatus = client.jobsToComplete();  
  310.     [javac]         ^  
  311.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:120: 找不到符号  
  312.     [javac] 符号: 类 JobStatus  
  313.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  314.     [javac]         for (JobStatus status : jstatus) {  
  315.     [javac]              ^  
  316.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:122: 找不到符号  
  317.     [javac] 符号: 类 JobID  
  318.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  319.     [javac]           JobID jobId = status.getJobID();  
  320.     [javac]           ^  
  321.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:130: 找不到符号  
  322.     [javac] 符号: 类 RunningJob  
  323.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  324.     [javac]               RunningJob running = client.getJob(jobId);  
  325.     [javac]               ^  
  326.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:142: 找不到符号  
  327.     [javac] 符号: 类 JobID  
  328.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer.LocationStatusUpdater  
  329.     [javac]         for (JobID jobId : missingJobIds) {  
  330.     [javac]              ^  
  331.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:210: 找不到符号  
  332.     [javac] 符号: 类 JobID  
  333.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  334.     [javac]       Collections.synchronizedMap(new TreeMap<JobID, HadoopJob>());  
  335.     [javac]                                               ^  
  336.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:224: 找不到符号  
  337.     [javac] 符号: 类 Configuration  
  338.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  339.     [javac]     this.conf = new Configuration();  
  340.     [javac]                     ^  
  341.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:238: 找不到符号  
  342.     [javac] 符号: 类 Configuration  
  343.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  344.     [javac]     this.conf = new Configuration();  
  345.     [javac]                     ^  
  346.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:338: 找不到符号  
  347.     [javac] 符号: 类 Configuration  
  348.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  349.     [javac]     this.conf = new Configuration(existing.conf);  
  350.     [javac]                     ^  
  351.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:354: 找不到符号  
  352.     [javac] 符号: 类 Configuration  
  353.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  354.     [javac]     Configuration newConf = new Configuration(this.conf);  
  355.     [javac]     ^  
  356.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:354: 找不到符号  
  357.     [javac] 符号: 类 Configuration  
  358.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  359.     [javac]     Configuration newConf = new Configuration(this.conf);  
  360.     [javac]                                 ^  
  361.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:429: 找不到符号  
  362.     [javac] 符号: 变量 IOUtils  
  363.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  364.     [javac]       IOUtils.closeStream(fos);  
  365.     [javac]       ^  
  366.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:469: 找不到符号  
  367.     [javac] 符号: 变量 FileSystem  
  368.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  369.     [javac]     return FileSystem.get(this.conf);  
  370.     [javac]            ^  
  371.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:478: 找不到符号  
  372.     [javac] 符号: 类 JobConf  
  373.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  374.     [javac]     JobConf jconf = new JobConf(this.conf);  
  375.     [javac]     ^  
  376.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:478: 找不到符号  
  377.     [javac] 符号: 类 JobConf  
  378.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  379.     [javac]     JobConf jconf = new JobConf(this.conf);  
  380.     [javac]                         ^  
  381.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:479: 找不到符号  
  382.     [javac] 符号: 类 JobClient  
  383.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopServer  
  384.     [javac]     return new JobClient(jconf);  
  385.     [javac]                ^  
  386.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSLocationsRoot.java:131: 找不到符号  
  387.     [javac] 符号: 变量 FileSystem  
  388.     [javac]           FileSystem.closeAll();  
  389.     [javac]           ^  
  390.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:43: 找不到符号  
  391.     [javac] 符号: 变量 JobStatus  
  392.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState  
  393.     [javac]     PREPARE(JobStatus.PREP), RUNNING(JobStatus.RUNNING), FAILED(  
  394.     [javac]             ^  
  395.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:43: 找不到符号  
  396.     [javac] 符号: 变量 JobStatus  
  397.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState  
  398.     [javac]     PREPARE(JobStatus.PREP), RUNNING(JobStatus.RUNNING), FAILED(  
  399.     [javac]                                      ^  
  400.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:44: 找不到符号  
  401.     [javac] 符号: 变量 JobStatus  
  402.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState  
  403.     [javac]         JobStatus.FAILED), SUCCEEDED(JobStatus.SUCCEEDED);  
  404.     [javac]         ^  
  405.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:44: 找不到符号  
  406.     [javac] 符号: 变量 JobStatus  
  407.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState  
  408.     [javac]         JobStatus.FAILED), SUCCEEDED(JobStatus.SUCCEEDED);  
  409.     [javac]                                      ^  
  410.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:54: 找不到符号  
  411.     [javac] 符号: 变量 JobStatus  
  412.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState  
  413.     [javac]         case JobStatus.PREP:  
  414.     [javac]              ^  
  415.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:56: 找不到符号  
  416.     [javac] 符号: 变量 JobStatus  
  417.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState  
  418.     [javac]         case JobStatus.RUNNING:  
  419.     [javac]              ^  
  420.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:58: 找不到符号  
  421.     [javac] 符号: 变量 JobStatus  
  422.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState  
  423.     [javac]         case JobStatus.FAILED:  
  424.     [javac]              ^  
  425.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:60: 找不到符号  
  426.     [javac] 符号: 变量 JobStatus  
  427.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob.JobState  
  428.     [javac]         case JobStatus.SUCCEEDED:  
  429.     [javac]              ^  
  430.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:146: 找不到符号  
  431.     [javac] 符号: 类 FileSystem  
  432.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  433.     [javac]       FileSystem fs = location.getDFS();  
  434.     [javac]       ^  
  435.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:148: 找不到符号  
  436.     [javac] 符号: 类 Path  
  437.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  438.     [javac]       if (FileUtil.copy(fs, new Path(jobFile), tmp, false, location  
  439.     [javac]                                 ^  
  440.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:148: 找不到符号  
  441.     [javac] 符号: 变量 FileUtil  
  442.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  443.     [javac]       if (FileUtil.copy(fs, new Path(jobFile), tmp, false, location  
  444.     [javac]           ^  
  445.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:150: 找不到符号  
  446.     [javac] 符号: 类 JobConf  
  447.     [javac] 位置: 类 org.apache.hadoop.eclipse.server.HadoopJob  
  448.     [javac]         this.jobConf = new JobConf(tmp.toString());  
  449.     [javac]                            ^  
  450.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:302: 软件包 Counters 不存在  
  451.     [javac]       Counters.Group group = counters.getGroup(groupName);  
  452.     [javac]               ^  
  453.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:305: 软件包 Counters 不存在  
  454.     [javac]       for (Counters.Counter counter : group) {  
  455.     [javac]                    ^  
  456.     [javac] /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFile.java:74: 找不到符号  
  457.     [javac] 符号: 类 FileStatus  
  458.     [javac] 位置: 类 org.apache.hadoop.eclipse.dfs.DFSFile  
  459.     [javac]       FileStatus fs = getDFS().getFileStatus(path);  
  460.     [javac]       ^  
  461.     [javac] 注意:某些输入文件使用或覆盖了已过时的 API。  
  462.     [javac] 注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。  
  463.     [javac] 注意:某些输入文件使用了未经检查或不安全的操作。  
  464.     [javac] 注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。  
  465.     [javac] 100 错误  
  466. BUILD FAILED  
  467. /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml:61: Compile failed; see the compiler error output for details.  
  468. Total time: 12 seconds  

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

[java] view plain copy print ?
  1. <path>  
  2.         <filesetdir="${hadoop.root}">  
  3.           <include name="hadoop*.jar"/>  
  4.         </fileset>  
  5.    </path>  

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

[java] view plain copy print ?
  1. [hadoop@hadoop eclipse-plugin]$ ant  
  2. Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml  
  3. check-contrib:  
  4. init:  
  5.      [echo] contrib: eclipse-plugin  
  6. init-contrib:  
  7. ivy-download:  
  8.       [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar  
  9.       [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar  
  10.       [get] Not modified - so not downloaded  
  11. ivy-probe-antlib:  
  12. ivy-init-antlib:  
  13. ivy-init:  
  14. [ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::  
  15. [ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  16. ivy-resolve-common:  
  17. ivy-retrieve-common:  
  18. [ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead  
  19. [ivy:cachepath] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  20. compile:  
  21.      [echo] contrib: eclipse-plugin  
  22.     [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  
  23.     [javac] Compiling 45 source files to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/classes  
  24.     [javac] 注意:某些输入文件使用或覆盖了已过时的 API。  
  25.     [javac] 注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。  
  26.     [javac] 注意:某些输入文件使用了未经检查或不安全的操作。  
  27.     [javac] 注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。  
  28. jar:  
  29.     [mkdir] Created dir: /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/lib  
  30. BUILD FAILED  
  31. /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.  
  32. 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:

[java] view plain copy print ?
  1.  [hadoop@hadoop eclipse-plugin]$ ant  
  2. Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml  
  3. check-contrib:  
  4. init:  
  5.      [echo] contrib: eclipse-plugin  
  6. init-contrib:  
  7. ivy-download:  
  8.       [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar  
  9.       [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar  
  10.       [get] Not modified - so not downloaded  
  11. ivy-probe-antlib:  
  12. ivy-init-antlib:  
  13. ivy-init:  
  14. [ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::  
  15. [ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  16. ivy-resolve-common:  
  17. ivy-retrieve-common:  
  18. [ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead  
  19. [ivy:cachepath] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  20. compile:  
  21.      [echo] contrib: eclipse-plugin  
  22.     [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  
  23. jar:  
  24.      [copy] Copying 1 file to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/lib  
  25.      [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  
  26. BUILD FAILED  
  27. /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.  
  28. Total time: 17 seconds  

失败原因是找不到commons-cli-1.2.jar。修复方法是修改build.xml文件,将<copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib"verbose="true"/>修改为<copyfile="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib"verbose="true"/>,再次执行ant:

[java] view plain copy print ?
  1. [hadoop@hadoop eclipse-plugin]$ ant  
  2. Buildfile: /home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/ build.xml  
  3. check-contrib:  
  4. init:  
  5.      [echo] contrib: eclipse-plugin  
  6. init-contrib:  
  7. ivy-download:  
  8.       [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar  
  9.       [get] To: /home/hadoop/hadoop-1.2.1/ivy/ivy-2.1.0.jar  
  10.       [get] Not modified - so not downloaded  
  11. ivy-probe-antlib:  
  12. ivy-init-antlib:  
  13. ivy-init:  
  14. [ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::  
  15. [ivy:configure] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  16. ivy-resolve-common:  
  17. ivy-retrieve-common:  
  18. [ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead  
  19. [ivy:cachepath] :: loading settings :: file = /home/hadoop/hadoop-1.2.1/ivy/ivysettings.xml  
  20. compile:  
  21.      [echo] contrib: eclipse-plugin  
  22.     [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  
  23. jar:  
  24.      [copy] Copying 1 file to /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/lib  
  25.      [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  
  26.       [jar] Building jar: /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/hadoop-eclipse-plugin-1.2.1.jar  
  27. BUILD SUCCESSFUL  
  28. 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,说明插件已经生效。

Hadoop学习之编译eclipse插件_第1张图片

你可能感兴趣的:(Hadoop学习之编译eclipse插件)