Я использую платформу Play (которая использует инструмент сборки SBT) с Java, где мне нужно использовать Protobuf. Итак, у меня есть файл xxx.proto
. Я получил компилятор бинарного протокола и добавил его в путь к классу. так я вижу -
протокол --версия
libprotoc 3.1.0
Я скомпилировал файл xxx.proto, используя - protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/xxx.proto
, поэтому он сгенерировал файл xxx.java.
Теперь, когда я компилирую этот файл 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
? Как мне исправить эту ошибку компиляции?