2016-11-26 71 views
0

私はnettyでGoogleのprotobufをセットアップしようとしていますが、コンパイルを開始するときにまず最初にGoogleのprotobufをダウンロードしてください(少なくとも最初の試みでは)、その後コンパイルするとそれだけが教えてくれる:Google Protobufパッケージを見つけられません

ここ
/src/main/java/GameMoveOuterClass.java:1536: error: package com.google.protobuf.GeneratedMessageV3 does not exist 
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable 

は私のbuild.gradleです:

apply plugin: 'java' 
apply plugin: 'com.google.protobuf' 

repositories { 
    mavenCentral() 
} 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.0' 
    } 
} 

dependencies { 
    compile group: 'io.netty', name: 'netty-all', version: '4.1.5.Final' 
    compile group: 'com.google.protobuf', name: 'protobuf-java', version: '2.4.1' 
} 


jar { 
    manifest { 
     attributes("Main-Class": 'server.Server', 
     "Class-Path": configurations.compile.collect { it.getPath() }.join(' ')) 
    } 
} 

誰かが間違っているものを知っている場合、私は おかげで目を使用して

答えて

0

を教えてくださいe maven central advanced searchcom.google.protobuf.GeneratedMessageV3の場合は、クラスがcom.google.cloud:google-cloud-nio:xxxまたはおそらくcom.trueaccord.scalapb:protobuf-runtime-scala_yyy:zzzにあるようです。私はあなたのクラスパスにこれらの1つを追加する必要があると思います。

0

私はGradleに慣れていませんが、新しいprotobuf生成コードと古いprotobufライブラリを混在させているように見えますが、これはサポートされていません。 GeneratedMessageV3クラスが最近追加されたばかりです(私は信じて約3.0)、そのクラスを参照する新しい生成コードは、それを含まない古いライブラリとリンクすることはできません。

0

GeneratedMessageV3に付属していないprotobufのバージョン2.4.1を使用しています。 3.0.0

dependencies { 
    compile group: 'io.netty', name: 'netty-all', version: '4.1.5.Final' 
    compile group: 'com.google.protobuf', name: 'protobuf-java', version: '3.0.0' 
} 
のように、このクラスを含めるいるProtobufの新バージョンへ

更新

関連する問題