2011-10-30 10 views
2

私が持っている2 .protoファイル:プロトコルバッファ:インポートするには?

まずファイル:

package com.test.model; 

message ProtoModel { 
    required CustomObj custom=1; 
} 

セカンドファイル:

package com.test.model; 

message CustomObj { 
    required string smth=1; 
} 

ここでの問題は、 "CustomObjが" ある」と言われていることです未解決の参照 "です。 このように、私は最初のファイルに第二のファイルをインポートしようとしました:

import "com/test/model/firstFile.proto" 

package com.test.model;  

message ProtoModel { 
    required CustomObj custom=1; 
} 

私はまだ同じ問題を取得します!

+1

私は、これはパッケージ修飾子の事は...パッケージにし、実際に私が何をしたか、そのパッケージ名 –

+0

とメッセージ名を修飾の両方に配置してみている疑いがある、私はそれらのすべてを置きます1つのファイルをここにいくつかの時間を節約するために... Thx :) – Echo

+0

私は1つのファイルにそれらを追加しようとすると、次のエラーがあります:http://stackoverflow.com/questions/7952447/protocol-buffer-enum -issue – Echo

答えて

5

importステートメントは、protocを呼び出す場所からの相対的なフォルダです。 あなたはそれをパッケージの相対的なものとして扱ったようです。

protoc src/main/resources/firstFile.proto src/main/resources/secondFile.proto --java_out=src/generated/java 

を、あなたがパッケージによると、サブフォルダ内のファイルを保存したい場合は、あなたのimport文がimport "src/main/resources/firstFile.proto"

を次のようになります(私のように)あなたがsrc/main/resourcesで両方のファイルを保存する場合は、次のようにprotocを起動したいですトップレベルのfoldernameの後にこれを追加してください。

HTH

+0

実際には、私がやったこと;私はここにある時間を節約するために、それらのすべてを1つのファイルに入れます... Thx :) – Echo

+0

私は1つのファイルにそれらを追加しようとすると、 //stackoverflow.com/questions/7952447/protocol-buffer-enum-issue – Echo

関連する問題