2011-12-01 9 views
5

Pobieram źródłowy plik zip Protobuf. Następnie otwieram Classic Eclipse i wybieram File-> Import-> Existing Maven Projects.Jak zbudować Protobuf dla Javy w Windows przez Eclipse

Wybieram folder główny na/java. Pokazuje, że pom.xml został zaznaczony, wybierz Dalej.

Ekran mówi: Instalator Maven złącza wtyczki: z

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. 

Am I brakuje czegoś tutaj?

+0

Projekt java nie ma nic specjalnego. Spróbuj użyć linii poleceń "mvn", aby ją skompilować. – Kane

Odpowiedz

6

Możesz zignorować ten błąd. Ale gdy wykończenie proces importu prawdopodobnie dostaniesz:

wykonanie Plugin nieobjęte cyklem konfiguracji: org.apache.maven.plugins: maven-antrun-plugin: 1.3: Praca (wykonanie: generują-sources , faza: generate-sources)

Jeśli tak, to twoja obecna konfiguracja nie obsługuje maven-antrun. można znaleźć powiązane pytanie tutaj: How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds

Wyjaśnienie problemu można znaleźć tutaj: http://wiki.eclipse.org/M2E_plugin_execution_not_covered

łatwy sposób rozwiązać? Dodanie kolejnego bloku kodu do 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> 

Po jakimś zwykłym konfiguracji projektu Aktualizacja Maven, jasne i odbudować wszystko, problemem pom znikają.

Ale wtedy prawdopodobnie pojawi się błąd dotyczący brakujących klas. Musisz download plik binarny protokołu protoc i wykonać go dla wszystkie pliki .proto, które można znaleźć w katalogu ze źródłami. Przykład:

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

Poniżej znajduje się skrypt bash, który pomoże Ci skompilować wszystkie te pliki proto. Wykonaj skrypt w katalogu 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 
Powiązane problemy