Maven 从同一文件夹中的另一个proto文件导入proto文件
我已经回答了之前提出的一些问题,但我仍然被困在这里,所以我希望能得到一些具体的建议。Pastebin链接与底部的相关代码。我正在使用Java编写稍后要编写的代码JavaSE-1.8,我正在使用Maven进行编译 我对gRPC很陌生,但我认为我对这些原则有着相当坚实的掌握,以前我尝试过的例子都是成功的。我试图在一个proto中编写一个类作为消息,这样我就可以在其他几个proto中使用它。在我的梦中,我会在另一个类中重复这一点,但为了正确导入该文件,我已经停顿了几天 我想我已经正确地导入了文件,但是当我试图编译时,无法根据这个消息为元素本身正确地写入文件路径 未定义.proto:29:9:“房间”。.proto:警告:导入房间.proto但未使用 这可能意味着文件已找到,但元素尚未找到。老实说,这一步是由反复试验造成的,与之前发生的情况相比(没有得到认可)有所改进。我试图链接“房间”的文件路径一直在变化,因为我真的不知道该怎么做。我试过以前同学和网络上的建议,但都不管用 原型文件位于同一文件夹中,它们不在包中,而是在项目名称下,然后是src/main/resources proto文件的文件路径(根据room.proto的属性)是/officeally/src/main/resources/room.protoMaven 从同一文件夹中的另一个proto文件导入proto文件,maven,import,protocol-buffers,grpc,grpc-java,Maven,Import,Protocol Buffers,Grpc,Grpc Java,我已经回答了之前提出的一些问题,但我仍然被困在这里,所以我希望能得到一些具体的建议。Pastebin链接与底部的相关代码。我正在使用Java编写稍后要编写的代码JavaSE-1.8,我正在使用Maven进行编译 我对gRPC很陌生,但我认为我对这些原则有着相当坚实的掌握,以前我尝试过的例子都是成功的。我试图在一个proto中编写一个类作为消息,这样我就可以在其他几个proto中使用它。在我的梦中,我会在另一个类中重复这一点,但为了正确导入该文件,我已经停顿了几天 我想我已经正确地导入了文件,但是
如果有任何其他信息我可以添加,请让我知道。我不确定需要什么您可能需要根据您的协议声明将
Room
的用法更改为officeally.src.main.resources.Room
。
/////////////////////////////////////////////////////////////////////////////////////////
Room Proto
//////////////////////////////////////////////////////
syntax = "proto3";//Must be Proto3
package officeally.src.main.resources;
option java_package = "com.myoffice";//must match group ID from proto
option java_multiple_files = true;//Do not change this. Creates multiple generated classes
option java_outer_classname = "OfficeAlly";//Corresponds to projectname. Name is created here
message Room{
enum Location{
Unknown = 0;
Hallway = 1;
MaleWC = 2;
FemaleWC = 3;
Office = 4;
Kitchen = 5;
ConferenceRoom = 6;
}
Location room = 1;
int32 capacity = 2;
int32 population = 3;
bool light = 4;
}
///////////////////////////////////////////////////////////
PROTO that imports room
/////////////////////////////////////////////////////////////////////////////
syntax = "proto3";//Must be Proto3
option java_package = "com.myoffice";//must match group ID from proto
option java_multiple_files = true;//Do not change this. Creates multiple generated classes
option java_outer_classname = "OfficeAlly";//Corresponds to projectname. Name is created here
import "room.proto";
service lightandtempcontrol {
//create a name for the rpc first -> then specify type of message to send to server
// to turn a light on upon somebody entering a room
rpc LightsOn(targetLight) returns (emptyMessage) {};//Unary*
// to turn a light off upon someone entering the room
rpc LightsOff(targetLight) returns (lightReceipt) {};
//to regulate temperature dependent on the temperature outside
rpc OutsideTemp(stream outTemp) returns (stream indoorTemp){};//Bidirectional*
//to get a complete
rpc Usage(usageRequest) returns (stream lightUsage) {};//Server streaming example
}
message targetLight{
//Location to be turned on
Room targetRoom = 1;
bool light = 2;
}