2013-05-21 3 views
0

maven 프로젝트에 protobuf 종속성을 추가하려고합니다. 내가 사용 protobuf jar 파일을 설치 한 MVN 설치 : 설치 파일의 -Dpackaging = 항아리 \ -DgeneratePom = 진정한 \
-DgroupId = com.google.protobuf \ -DartifactId = protobuf - 자바 \ -dfile =maven에 protobuf 종속성을 추가하는 중 오류가 발생했습니다.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>ProtobufExample</groupId> 
<artifactId>ProtobufTest</artifactId> 
<packaging>jar</packaging> 
<version>1.0-SNAPSHOT</version> 
<name>ProtobufTest</name> 
<url>http://maven.apache.org</url> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <skip.tests>false</skip.tests> 
</properties> 


<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
      <groupId>com.google.protobuf</groupId> 
      <artifactId>protobuf-java</artifactId> 
      <version>2.4.1</version> 
      <scope>compile</scope> 
     </dependency> 

</dependencies> 
<build> 
    <finalName>ProtobufTest</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.3.1</version> 
      <configuration> 
       <finalName>${project.name}-${project.version}</finalName> 
      </configuration> 
     </plugin> 

     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <configuration> 
       <appendAssemblyId>false</appendAssemblyId> 
       <finalName>${project.name}-${project.version}</finalName> 
       <descriptors> 
        <descriptor>src/assembly/dist.xml</descriptor> 
       </descriptors> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>com.google.protobuf</groupId> 
      <artifactId>protobuf-java</artifactId> 
      <version>2.5.0</version> 
      <executions> 
       <execution> 
        <id>generate-sources</id> 
        <goals> 
         <goal>test</goal> 
        </goals> 
        <phase>generate-sources</phase> 
        <configuration> 
         <protoSourceRoot>${basedir}/src/main/proto/</protoSourceRoot> 
         <includes> 
          <param>**/*.proto</param> 
         </includes> 
        </configuration> 
       </execution> 
      </executions> 
      <configuration> 
       <protocExecutable>/usr/local/bin/protoc</protocExecutable> 
      </configuration> 
     </plugin> 

    </plugins> 

</build> 

나는 t하려고 할 때 다음과 같이 -Dversion = 2.5.0

Mypom.xml 파일 \ protobuf - 자바-2.5.0.jar입니다 "mvn test"를 사용하여 테스트 할 때 다음 오류가 발생합니다. com.google.protobuf의 플러그인 설명자를 구문 분석하지 못했습니다 : protobuf-java : 2.5.0 META-INF/maven/plugin.xml에 플러그인 설명자가 없습니다.

어디에서 잘못 될지 파악하는 데 도움을주십시오.

답변

0

문제는 당신의 치어 파일의 다음 코드를 기반으로 위치 :

<plugin> 
    <groupId>com.google.protobuf</groupId> 
    <artifactId>protobuf-java</artifactId> 
    <version>2.5.0</version> 
    <executions> 
     <execution> 
      <id>generate-sources</id> 
      <goals> 
       <goal>test</goal> 
      </goals> 
      <phase>generate-sources</phase> 
      <configuration> 
       <protoSourceRoot>${basedir}/ 

문제는 protobuf - 자바하지 플러그인 것입니다. 그래서 이것은 효과가 없을 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 예, 오류는 위의 pom 파일 스 니펫과 함께 발생했습니다. – user2384376

관련 문제