2011-12-01 16 views
5

Ho scaricato il file zip Protobuf sorgente. Quindi apro la mia Eclipse classica e scegli File-> Importa-> Progetti Maven esistenti.Come creare Protobuf per Java in Windows tramite Eclipse

Scelgo la cartella radice da/java. Mostra che pom.xml è stato barrato, scegli Avanti.

Lo schermo dice: Setup Maven connettori plugin: 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. 

Mi manca qualcosa qui?

+0

Il progetto java non ha nulla di speciale. Prova a usare la riga di comando 'mvn' per costruirlo. – Kane

risposta

6

È possibile ignorare questo errore. Ma quando il traguardo processo di importazione probabilmente si otterrà:

esecuzione Plugin non coperti dalla configurazione del ciclo di vita: org.apache.maven.plugins: Maven-antrun-plugin: 1.3: Run (esecuzione: generare-sources , fase: generate-sources)

In tal caso, la ragione è che la configurazione corrente non supporta maven-antrun. È possibile trovare una questione connessa qui: How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds

Una spiegazione del problema può essere trovato qui: http://wiki.eclipse.org/M2E_plugin_execution_not_covered

Un modo semplice per risolvere? Aggiungere il successivo blocco di codice al tuo 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> 

Dopo qualche solita configurazione del progetto di aggiornamento Maven, chiara e ricostruire tutto, problema pom scomparire.

Ma poi si otterrà probabilmente qualche errore sulle classi mancanti. È necessario download il binario protoc ed eseguirlo per tutti i file .proto che è possibile trovare nella directory dei sorgenti. Esempio:

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

Di seguito è riportato uno script di bash che consente di compilare tutti questi file di proto. Esegui lo script nella directory 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 
Problemi correlati