hadoop无法从源代码生成

hadoop无法从源代码生成,hadoop,Hadoop,我正试图在ubuntu 13.04中从源代码构建hadoop-2.0.4-alpha 我有maven 3.0.5、protobuf(libprotoc 2.4.1)、cmake(2.8.10.1) 我明白了 occured: stylesheet /home/hadoop/hadoop-2.0.4-alpha-src/hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl doesn't exis

我正试图在ubuntu 13.04中从源代码构建hadoop-2.0.4-alpha 我有maven 3.0.5、protobuf(libprotoc 2.4.1)、cmake(2.8.10.1)

我明白了

 occured: stylesheet /home/hadoop/hadoop-2.0.4-alpha-src/hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl doesn't exist. -> [Help 1]

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (site) on project hadoop-common: An Ant BuildException has occured: stylesheet /home/hadoop/hadoop-2.0.4-alpha-src/hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl doesn't exist.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: An Ant BuildException has occured: stylesheet /home/hadoop/hadoop-2.0.4-alpha-src/hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl doesn't exist.
    at org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:283)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
Caused by: /home/hadoop/hadoop-2.0.4-alpha-src/hadoop-common-project/hadoop-common/target/antrun/build-main.xml:44: stylesheet /home/hadoop/hadoop-2.0.4-alpha-src/hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl doesn't exist.
    at org.apache.tools.ant.taskdefs.XSLTProcess.handleError(XSLTProcess.java:1229)
    at org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:380)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
    at org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:270)
    ... 21 more
[ERROR] 
[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/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :hadoop-common
出现:样式表/home/hadoop/hadoop-2.0.4-alpha-src/hadoop-common项目/hadoop-common/${env.FINDBUGS_home}/src/xsl/default.xsl不存在。->[帮助1]
org.apache.maven.lifecycle.LifecycleExecutionException:未能执行目标org.apache.maven.plugins:maven antrun插件:1.6:在项目hadoop common上运行(站点):发生Ant构建异常:stylesheet/home/hadoop/hadoop-2.0.4-alpha-src/hadoop common项目/hadoop common/${env.FINDBUGS_home}/src/xsl/default.xsl不存在。
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
位于org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
位于org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)上
位于org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
位于org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
位于org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.codehaus.plexus.classworlds.launcher.launcher.launchEnhanced(launcher.java:290)
位于org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.java:230)
位于org.codehaus.plexus.classworlds.launcher.launcher.mainWithExitCode(launcher.java:409)
位于org.codehaus.plexus.classworlds.launcher.launcher.main(launcher.java:352)
由以下原因引起:org.apache.maven.plugin.MojoExecutionException:发生了Ant BuildException:样式表/home/hadoop/hadoop-2.0.4-alpha-src/hadoop-common项目/hadoop-common/${env.FINDBUGS_-home}/src/xsl/default.xsl不存在。
位于org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:283)
位于org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 还有19个
原因:home/hadoop/hadoop-2.0.4-alpha-src/hadoop common project/hadoop common/target/antrun/build main.xml:44:stylesheet/home/hadoop/hadoop-2.0.4-alpha-src/hadoop common project/hadoop common/${env.FINDBUGS_home}/src/xsl/default.xsl不存在。
位于org.apache.tools.ant.taskdefs.XSLTProcess.handleError(XSLTProcess.java:1229)
位于org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:380)
位于org.apache.tools.ant.UnknowneElement.execute(unknowneElement.java:291)
在sun.reflect.GeneratedMethodAccessor54.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
位于org.apache.tools.ant.Task.perform(Task.java:348)
位于org.apache.tools.ant.Target.execute(Target.java:390)
位于org.apache.tools.ant.Target.performTasks(Target.java:411)
位于org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
位于org.apache.tools.ant.Project.executeTarget(Project.java:1366)
位于org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:270)
... 还有21个
[错误]
[错误]使用-X开关重新运行Maven以启用完整调试日志记录。
[错误]
[错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误][帮助1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[错误]
[错误]纠正问题后,可以使用命令恢复生成
[错误]mvn-rf:hadoop通用

我认为您的环境缺少FINDBUGS\u主页。您可以从下载并安装findbugs

之后,您应该运行以下命令来定义FINDBUGS_HOME:

export FINDBUGS_HOME=/path/to/findbugs/installation

现在,您的构建不会因为缺少FINDBUGS_HOME环境变量而失败。

我已通过以下命令解决了此问题:

 mvn clean
 mvn compile -Pnative
 mvn package
 mvn compile findbugs:findbugs
 mvn install
 mvn package -Pdist,docs,src,native -Dtar

我通过以下步骤解决了这个问题

1) 打开hadoop-xxxxx-src/hadoop项目目录中的pom.xml文件,并搜索“findbugs.version”xml标记

2) 下载并安装您在步骤1中找到的所需findbugs版本)


3) 按照其他人的建议创建“FINDBUGS_HOME”环境变量。

关于更新的答案,我的同事发表了一篇关于如何使用最新源代码编译、修补和运行hadoop的文章:。它利用Docker进行可复制的构建。

我从ubuntu 12.04的源代码中获得了hadoop-2.0.5-alpha的相同错误。你解决问题了吗?你应该看到问题是FINDBUGS_HOME的pah在设置后没有设置,根据hadoop安装步骤,它可以正常工作