web-dev-qa-db-ja.com

Protoc:複数のJavaソースファイルを生成する方法は?

大きなProtobuf定義をコンパイルした後、6 MB Javaソースコードファイルを取得しています。

そのファイルを操作するサイズが大きいため、Eclipseで開発するのは大きな苦痛であり、そのファイルを開くたびにEclipseが完全にストール/クラッシュします。

Protocに1つの大きなファイルの代わりに複数のJavaソースコードファイルを生成させる方法はありますか?

16
Robert

実はあります。文書化されていませんが、次のように.protoファイルに行を追加できます。

option Java_multiple_files = true;

これにより、.protoファイルの各トップレベルメッセージタイプが独立した.Javaファイルに配置されます。もちろん、これらのクラスを新しい場所からインポートするには、すべてのコードを更新する必要があることに注意してください。 protocは、内部クラスがネストされていない場合でも、以前に実行した「外部」クラスを生成することにも注意してください。外部クラスは、ファイルの記述子、最上位の拡張子、およびその他のクラス以外のものを取得するために移動する場所です。

とはいえ、.protoファイルがこれほど大きい場合は、.protoファイル自体を互いにインポートする小さなファイルに分割することを強くお勧めします。

43
Kenton Varda