Maven 从同一文件夹中的另一个proto文件导入proto文件

Maven 从同一文件夹中的另一个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中使用它。在我的梦中,我会在另一个类中重复这一点,但为了正确导入该文件,我已经停顿了几天 我想我已经正确地导入了文件,但是

我已经回答了之前提出的一些问题,但我仍然被困在这里,所以我希望能得到一些具体的建议。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.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;
}