Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Maven错误构建Hadoop_Maven_Hadoop - Fatal编程技术网

使用Maven错误构建Hadoop

使用Maven错误构建Hadoop,maven,hadoop,Maven,Hadoop,当我尝试使用以下方法构建hadoop时: mvn安装-e-DskipTests 它总是抛出以下错误: [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /home/xiu/myGit/hadoop2/

当我尝试使用以下方法构建hadoop时:

mvn安装-e-DskipTests

它总是抛出以下错误:

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /home/xiu/myGit/hadoop2/hadoop-mr1-project/hadoop-mr1/src/test/java/org/apache/hadoop/mapreduce/security/TestTokenCache.java:[153,4] getDelegationTokenSecretManager() is not public in org.apache.hadoop.hdfs.server.namenode.FSNamesystem; cannot be accessed from outside package
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Apache Hadoop MR1 ................................. FAILURE [3.144s]
[INFO] Apache Hadoop MR1 Examples ........................ SKIPPED
[INFO] Apache Hadoop MR1 Project ......................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.353s
[INFO] Finished at: Thu Jul 18 11:01:30 PDT 2013
[INFO] Final Memory: 32M/100M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile (default-testCompile) on project hadoop-mr1: Compilation failure
[ERROR] /home/xiu/myGit/hadoop2/hadoop-mr1-project/hadoop-mr1/src/test/java/org/apache/hadoop/mapreduce/security/TestTokenCache.java:[153,4] getDelegationTokenSecretManager() is not public in org.apache.hadoop.hdfs.server.namenode.FSNamesystem; cannot be accessed from outside package
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

我尝试过清理并重新安装不同版本的maven,但运气不佳。有专家知道这是怎么回事吗

似乎是Maven编译器插件抱怨Hadoop
FSNameSystem
中的
getDelegationTokenSecretManager()
方法由于方法可见性而无法访问,即它不是公共的:

[ERROR] /home/xiu/myGit/hadoop2/hadoop-mr1-project/hadoop-mr1/src/test/java/org/apache/hadoop/mapreduce/security/TestTokenCache.java:[153,4] getDelegationTokenSecretManager() is not public in org.apache.hadoop.hdfs.server.namenode.FSNamesystem; cannot be accessed from outside package
[INFO] 1 error

我建议您检查pom.xml中定义的Hadoop版本,并再次检查该方法在Hadoop版本JavaDoc中是否真正可访问。

我在Hadoop 2.2.0源代码构建过程中遇到了相同的问题。在“mvn安装-DskipTests”过程中,此错误出现在“Hadoop Auth”文件夹中。 从某个地方(我不记得从哪里)我知道这个Hadoop Auth文件夹的pom.xml中缺少一个依赖项

依赖性是

<dependency>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-util</artifactId>
  <scope>test</scope>
</dependency>

org.mortbay.jetty
码头
测试
我添加了这个依赖项,并再次尝试“mvn安装-DskipTests”。我的错误解决了


您只需尝试在“ApacheHadoopMR1”的pom.xml中添加此依赖项。您的错误可能会解决

如果没有
-DskipTests
(我正在运行
mvn-package-Pdist,native-Dtar
),此依赖项似乎也是必需的