問題タブ [protoc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - プロトゲン対。Protoc コンパイラ オプション
Java、C++、および C# からクラスをコンパイルするために使用される .proto ファイルがいくつかあります。Java と C++ には Protoc コンパイラを使用し、C# には Protogen を使用します。Java/C++ クラス作成用のスクリプトは次のとおりです。
そして、私が持っているC#クラスの生成のために
どちらのスクリプトも .proto ファイルを参照します (もちろん ;])。-p:detectMissing
フィールドが指定されているかどうかをテストできるプロパティを生成するために、上記の C# スクリプトを追加しました。このオプションは*Specified
、 のすべてのフィールドに対して作成しますIsRequired = false
。
私の質問は簡単です。C#、C++、および Java クラスが整列されていることを確認したいのですが、C# の-p:detectMissing
場合、Protogen でオプションを使用する必要があります。Protoc を使用した同等のオプションは何ですか?
御時間ありがとうございます。
cygwin - Windows でのプロトコル エラー
Maven protocプラグインと、Cygwin内に構築したprotoc実行可能ファイルを使用して、プロトコルバッファコードをコンパイルしようとしています。Cygwin または Windows コマンドラインからこれを行うことはできません。以下は、Windows で実行したときに得られる出力ですが、Cygwin から実行した場合のエラーも同じです。問題がパス変換にあった場合、そのうちの1つが機能すると予想されるため、これは奇妙だと思います。実行可能ファイルが Cygwin の g++ でビルドされたという事実が影響を与える可能性はありますか? (明らかに、問題のディレクトリは存在します。)
編集:mavenを写真から取り出して、protocを手動で呼び出すと、同じエラーが発生します。
編集 2: 相対パスまたは絶対パスを使用して Cygwin から手動で protoc を呼び出すことで、これを修正できます (ただし、チルダ展開は機能しません)。相対パスまたは絶対パスを使用して Windows から手動で protoc を呼び出すと、引き続き同じエラーが発生します。
protocol-buffers - protoc がサービス スタブ ファイルを生成しない
私はグーグルプロトで遊び始めたばかりです。proto-java の例にある proto ファイルをコンパイルしようとすると、grpc ファイルが生成されません。
proto ファイル、 https://github.com/grpc/grpc-java/blob/master/examples/src/main/proto/hello_world.proto
端末出力、
rsonkhla@raman-OptiPlex-9020:~/sandbox/grpc-java/examples$ protoc --version libprotoc 3.0.0 rsonkhla@raman-OptiPlex-9020:~/sandbox/grpc-java/examples$ protoc --java_out=test / -I../../grpc-java/examples ../../grpc-java/examples/src/main/proto/hello_world.proto rsonkhla@raman-OptiPlex-9020:~/sandbox/grpc-java /examples$ ls -R test/ test/: io
テスト/io: grpc
test/io/grpc: 例
テスト/io/grpc/例: ハローワールド
test/io/grpc/examples/helloworld: HelloRequest.java
HelloResponse.java HelloWorldProto.java HelloRequestOrBuilder.java HelloResponseOrBuilder.java
他の誰かがこの問題に直面しましたか?
java - Proto Generated クラスの toString が例外を引き起こす
Google のチュートリアル [ https://developers.google.com/protocol-buffers/docs/javatutorial?hl=en ] に従って、Proto クラスを作成しています。
私のProtoファイルは
Person
チュートリアルで指定されているように、新しいオブジェクトを作成するためのjunitテストケースを書いていました。
オブジェクトは作成されましたが、そのtoString()
メソッドを呼び出すと、サブクラスによってオーバーライドされるはずであるというエラーが表示されます。同じためのStacetraceは次のとおりです
私のjunitテストクラスは次のとおりです
ここで些細なことを見逃していますか?
java - Google protobuf に ProtocolStringList がないとエラーが発生するのはなぜですか?
protoc によって作成された生成コード内で、 a への参照ProtocolStringList
によってクラスが見つからないというエラーが発生するという問題に遭遇しました。
この場合、Eclipse エラーが発生しました。
次のようにも表示されると思います。
dump - プロトコルバッファファイルを stdout にダンプしてデバッグ/調査しますか?
.proto
ファイルとpbf
(プロトコル バッファ ファイル)があります。とにかく、pbfファイルをある種の冗長な人間が読める出力形式に「ダンプ」できるものはありますか? その中を見て、そこにあるデータを確認できるようにしたいだけです。
理想的には、次のような Linux で動作するオープン ソースの cli ツールを探しています。
これは存在しますか?試してみましたが、多くのファイルで有効であると確信しているcat data.pbf | protoc --decode_raw
というメッセージが表示されました。Failed to parse input.
これを行うプログラムを書くのは簡単でしょうか? もしそうなら、どのように?
(私はプロトコルバッファを初めて使用します。これがばかげた、または無意味な質問である場合は申し訳ありません)