2011-12-01 3 views
5

원본 Protobuf zip 파일을 다운로드합니다. 그런 다음 Classic Eclipse를 열고 파일 -> 가져 오기 -> 기존 Maven 프로젝트를 선택합니다.Eclipse를 통해 Windows에서 Java 용 Protobuf를 빌드하는 방법

루트 폴더를/java로 선택합니다. pom.xml에 체크 표시가 표시되면 다음을 선택하십시오.

화면은 말한다 : 설치 Maven 플러그인 커넥터 : 내가 여기서 뭔가를 놓치고 있습니까

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. 

와?

+0

java 프로젝트에는 특별한 것이 없습니다. 'mvn'명령 줄을 사용하여 빌드하십시오. – Kane

답변

6

해당 오류는 무시해도됩니다. 그러나 가져 오기 프로세스 마무리 아마 당신은 얻을 것이다 때 org.apache.maven.plugins : 받는다는 - antrun - 플러그인 : 1.3 : 실행 (실행 : 생성 - 소스 라이프 사이클 구성에 포함되지

플러그인 실행 , phase : generate-sources)

그렇다면 현재 구성이 maven-antrun을 지원하지 않는 것입니다. 당신은 여기에 관련된 질문 찾을 수 있습니다 How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds

문제에 대한 설명을 여기에서 찾을 수 있습니다 : 해결하기 http://wiki.eclipse.org/M2E_plugin_execution_not_covered

쉬운 방법은? 당신의 pom.xml에 다음 코드 블록을 추가 : 분명히 몇 가지 일반적인 업데이트 Maven 프로젝트 구성 후

<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> 

을 모두 재 구축, 치어 문제는 사라집니다.

하지만 클래스가 누락되었다는 오류가 발생할 수 있습니다. download protoc 바이너리를 입력하고 모두 소스 디렉토리에서 찾을 수있는 .proto 파일로 실행해야합니다. 예 :

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

아래의 모든 원시 파일을 컴파일하는 데 도움이되는 bash 스크립트가 있습니다. 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 
관련 문제