Генерируемый буфером исходный код Java с ошибками
У меня 3 .proto
файлы в той же папке, я планирую добавить LowDataBalanceRequest
а также MobileRequest
в `EventRequest
Команда для генерации Java-источников:
protoc --java_out=/home/haifzhan/myproject/src/main/java/com/example/util star_event.proto ldb_event.proto generic_event.proto
star_event.proto и ldb_event.proto могут генерировать исходный код Java без ошибок, но generic_event.proto имеет ошибки как (я хочу показать ошибки, поэтому я прилагаю изображения, отличные от исходного кода):
- Одна ошибка говорит
Descriptor
экземпляр не может быть инициализирован - Ожидается еще одна жалобная скобка.
import "star_event.proto";
import "ldb_event.proto";
message EventRequest {
optional LowDataBalanceRequest ldbRequest = 1;
optional MobileRequest mobileRequest = 2;
}
Я использую версию 2.6.1
Кто-нибудь может помочь?
1 ответ
Я понял это. Связанная проблема в Github Java: неверный код, созданный при обращении к файлу без оператора пакета
Ошибка исчезла после того, как я добавляю option java_package
в целом .proto
файлы:
option java_package = "com.example.util";
Вот мой полный .proto
файлы:
option java_package = "com.example.util";
ldb_event.proto
option java_package = "com.example.util";
enum RequestTrigger {
LDB = 1;
OTHER = 2;
}
message LowDataBalanceRequest {
required string probe_id = 1;
required int64 unix_time = 2;
}
generic_event.proto
import "star_event.proto";
import "ldb_event.proto";
option java_package = "com.example.util";
message EventRequest {
optional LowDataBalanceRequest ldbRequest = 1;
optional MobileRequest mobileRequest = 2;
}