2016-04-13 4 views
1

私はGoogleのプロトコルバッファ(プロトコルバッファmavenプラグインと組み合わせて)を使って、.protoファイルをクラスにコンパイルしています。デフォルトのパッケージで生成されたクラスを完全に使用できますが、その外では使用できません。私は本当にそれをより良く説明する方法を知らないので、私はあなたにいくつかの写真を見せます。デフォルトのパッケージの外にgenerated-sourcesクラスを参照できません

Working Not working

(生成されたクラスが最終である)私はHRPクラスをサブクラス化しようとしましたが、それは動作しません。また、Hrpクラスを再生成するたびにクラスを移動するオプションもありません。

これが適切かどうかはわかりませんが、生成されるクラスはpublic finalです。空のprivateコンストラクタが含まれています。

また、生成されたソースフォルダに生成されたソースパッケージプレフィックスを設定しようとしましたが、これも機能しません。

ご協力いただければ幸いです。

+1

プロトコルバッファ定義(https://developers.google.com/protocol-buffers/docs/reference/java-generated#package)でパッケージIDを指定してから、パッケージID Javaからインポートしてみてください。あなたはJavaでデフォルトのパッケージIDをインポートすることができます –

+0

それは私がやったことです、そして、今働くようです。ありがとうございました! – nbokmans

+0

答えとして追加します –

答えて

1

パッケージ idをプロトコルバッファ定義に追加してみてください。あなたは(protocを使用して)ジャワ〜議定〜バッファコードを生成するときに、それがパッケージにmypackageとなり、あなたにそれをインポートすることができるようになります

syntax = "proto3"; 
package MyPackage; 
option optimize_for = SPEED; 

message Product { 
    repeated ASale sale = 1; 
} 

すなわちProtocol Buffers Package

を参照してください。通常の方法でJavaコード。 Javaで

、あなたはデフォルトパッケージから何かをインポートすることはできません。私はあなたの問題だと信じています。 How to access java-classes in the default-package?

関連する問題