org.apache.maven.plugin.MojoExecutionException: protoc échec
Je rencontre quelques problèmes lorsque j'utilise maven pour complie hadoop à partir du code source.Voici le message d'erreur, quelqu'un peut-il m'aider? Merci.
[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:3.0.0-SNAPSHOT:protoc (compile-protoc) on project hadoop-c
[Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:3.0.0-SNAP
plugin.MojoExecutionException: protoc failure
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: org.apache.maven.plugin.MojoExecutionException: protoc failure
at org.apache.hadoop.maven.plugin.protoc.ProtocMojo.execute(ProtocMojo.java:81)
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: org.apache.maven.plugin.MojoExecutionException: protoc failure**
at org.apache.hadoop.maven.plugin.protoc.ProtocMojo.execute(ProtocMojo.java:78)
... 21 more
[ERROR]
[ERROR]
Code???????????
désolé, je suis un nouveau mec. J'essaie de tourner à code format, mais il est tombé en panne.
Pourquoi avez-vous besoin pour compiler Hadoop à partir de la source?
désolé, je suis un nouveau mec. J'essaie de tourner à code format, mais il est tombé en panne.
Pourquoi avez-vous besoin pour compiler Hadoop à partir de la source?
OriginalL'auteur huang | 2013-04-01
Vous devez vous connecter pour publier un commentaire.
Les instructions à http://wiki.apache.org/hadoop/HowToContribute expliquer une partie de la moins évidente aspects de la construction d'hadoop - y compris celui-ci. Le principal problème ici est que les Tampons de Protocole sont tenus par hadoop est FILS de cadre, et vous avez très probablement ne les avez pas installé.
Il me semble que le problème pourrait être que votre pas interpretting l'erreur correctement, donc --
Comment Isoler l'erreur de génération
Tout mojo qui ne devrait être associé à une classe.
Dans ce cas, le mojo qui est de l'échec, est ici :
https://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/protoc/ProtocMojo.java
Regardant le code, c'est clair que ce Mojo exige la "protoc" programme à exécuter.
http://code.google.com/p/protobuf/
Solution
De construire hadoop, vous avez besoin de tampons de protocole. Ce peut être installé sur un *NIX la machine de la source, en exécutant les commandes suivantes pour saisir le code de googlecode (prises de http://numbers.brighterplanet.com/2012/04/14/how-to-install-mosh-on-amazon-ec2/).
wget http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
Comment compiler sous windows?
Tripathy: Pour obtenir ce pour Windows, accédez à developers.google.com/protocol-buffers/docs/downloads et obtenir le Binaire Windows. Il suffit d'ajouter le chemin d'accès à protoc.exe dans votre environnement de CHEMIN, et il va être installé! Pour Hadoop pour Eclipse package d'installation que j'ai eu de Apache Nutch site, la version 2.5.0 est nécessaire, afin d'obtenir qu'un seul, et vous êtes tous ensemble!
OriginalL'auteur jayunit100