7

Protobuf を使用する必要がある Java で Play フレームワーク (SBT ビルド ツールを使用) を使用しています。だから私はxxx.protoファイルを持っています。バイナリ プロトコル コンパイラを取得し、クラス パスに追加しました。なるほど~

protoc --version
libprotoc 3.1.0

を使用して xxx.proto ファイルをコンパイルしたため、xxx.java ファイル protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/xxx.protoが生成されました。

この xxx.java ファイル (sbt ビルド ツールを使用したプロジェクト) をコンパイルしているとき

[error] /my_project/app/helpers/xxx.java:7: package com.google.protobuf        does not exist
[error] com.google.protobuf.ExtensionRegistryLite
[error] /my_project/app/helpers/xxx.java:11: package com.google.protobuf does not exist
[error] com.google.protobuf.ExtensionRegistry
[error] /my_project/app/helpers/xxx.java:6182: package com.google.protobuf.Descriptors does not exist
[error] com.google.protobuf.Descriptors.Descriptor
[error] /my_project/app/helpers/xxx.java:6185: package com.google.protobuf.GeneratedMessageV3 does not exist
[error] com.google.protobuf.GeneratedMessageV3.FieldAccessorTable`

インストールしたライブラリに表示されますcom.google.protobuf-jarがあります。

xxx.protoのルックスは次の -

 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: xxx.proto

 public final class xxx {
 private xxx() {}
 public static void registerAllExtensions(
  com.google.protobuf.ExtensionRegistryLite registry) {
 }

  public static void registerAllExtensions(
  com.google.protobuf.ExtensionRegistry registry) {
   registerAllExtensions(
    (com.google.protobuf.ExtensionRegistryLite) registry);
 }
 ......

ファイルの生成中に見逃したものはありxxx.javaますか? これらのコンパイル エラーを修正するにはどうすればよいですか?

4

3 に答える 3