`protoc` 生成无效 Java

`protoc` generating invalid Java

我有一堆 .proto 文件,根文件定义:

syntax = "proto3";
option java_multiple_files = true;
package com.example;

import其他一些人。

使用 gradlew generateProto 会生成无效的 Java 文件,其内容如下:

        new com.google.protobuf.Descriptors.FileDescriptor[] {
          .AnotherOuterClass.getDescriptor(),
        }, assigner);

这会导致编译错误,例如:

…/SomeOuterClass.java:1337: error: illegal start of expression
          .AnotherOuterClass.getDescriptor(),

需要做什么来解决这个问题?

package com.example; 添加到所有其他 .proto 文件。

这样做会生成如下代码:

        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.example.AnotherOuterClass.getDescriptor(),
        }, assigner);