2011-12-01 11 views
5

Descargo el archivo zip de origen de Protobuf. Luego abro mi Classic Eclipse y elijo Archivo-> Importar-> Proyectos existentes de Maven.Cómo compilar Protobuf para Java en Windows a través de Eclipse

Elijo la carpeta raíz para ser/java. Muestra que pom.xml ha sido marcado, elija Siguiente.

La pantalla dice: Configuración del plugin de Maven de conexión con

maven-antrun-plugin:1.3:run (2 errors): 
No marketplace entries found to handle maven-antrun-plugin:1.3:run in Eclipse. Please see Help for more information. 

Me estoy perdiendo algo aquí?

+0

El proyecto de Java no tiene nada de especial. Intenta usar la línea de comando 'mvn' para compilarlo. – Kane

Respuesta

6

Puede ignorar ese error. Pero cuando el acabado proceso de importación probablemente obtendrá:

ejecución Plugin no cubierta por la configuración del ciclo de vida: org.apache.maven.plugins: maven-antRun-plugin: 1.3: Run (de ejecución: generar-sources , fase: generar-fuentes)

Si es así, la razón es que su configuración actual no es compatible con maven-antrun. Puede encontrar una pregunta relacionada aquí: How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds

Una explicación del problema se puede encontrar aquí: http://wiki.eclipse.org/M2E_plugin_execution_not_covered

manera fácil de resolver? Añadiendo el siguiente bloque de código a su pom.xml:

<pluginManagement> 
    <plugins> 
    <plugin> 
     <groupId>org.eclipse.m2e</groupId> 
     <artifactId>lifecycle-mapping</artifactId> 
     <version>1.0.0</version> 
     <configuration> 
     <lifecycleMappingMetadata> 
      <pluginExecutions> 
      <pluginExecution> 
       <pluginExecutionFilter> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-antrun-plugin</artifactId> 
       <versionRange>[1.0.0,)</versionRange> 
       <goals> 
        <goal>run</goal> 
       </goals> 
       </pluginExecutionFilter> 
       <action> 
       <execute> 
        <runOnIncremental>false</runOnIncremental> 
       </execute> 
       </action> 
      </pluginExecution> 
      </pluginExecutions> 
     </lifecycleMappingMetadata> 
     </configuration> 
    </plugin> 
    </plugins> 
</pluginManagement> 

Después de una cierta configuración habitual proyecto de actualización de Maven, clara y reconstruir todo, pom problema desaparece.

Pero entonces probablemente obtendrá algún error acerca de las clases que faltan. Debe download el protocolo binario y ejecutarlo para todos los archivos .proto que puede encontrar en su directorio de fuentes. Ejemplo:

protoc --java_out=src/main/java -I../src ..\ src\google\protobuf\descriptor.proto 
0

A continuación se muestra una secuencia de comandos bash para ayudarlo a compilar todos esos archivos proto. Ejecute el script en el directorio java.

#/bin/bash 
for proto_file in ../src/google/protobuf/*.proto; do 
    echo "generating java source from $proto_file" 
    protoc --java_out=core/src/main/java -I../src $proto_file 
done 
Cuestiones relacionadas