Protocol buffers 导入另一个proto文件时出错
我试图编译一个proto文件以转换为.java时出错。Protocol buffers 导入另一个proto文件时出错,protocol-buffers,protobuf-net,protoc,proto,Protocol Buffers,Protobuf Net,Protoc,Proto,我试图编译一个proto文件以转换为.java时出错。 你能指出我遗漏了什么吗 protoc --proto_path=src\main\resources\proto --java_out=src\main\java src\main\resources\proto\PayloadProtocol.proto PayloadProtocol.proto:32:14: "DataContainer" is not defined. PayloadProtocol.proto: warning:
你能指出我遗漏了什么吗
protoc --proto_path=src\main\resources\proto --java_out=src\main\java src\main\resources\proto\PayloadProtocol.proto
PayloadProtocol.proto:32:14: "DataContainer" is not defined.
PayloadProtocol.proto: warning: Import BackendCommunicationService.proto but not used.
有效载荷.proto
import "BackendCommunicationService.proto";
package com.fleetboard.tp.payload.protocol.protobuf;
option java_package = "com.fleetboard.tp.proto.protocol";
message TPMessage {
required int32 serviceId = 1; // telematic service (TS) id, who owns this message
required int32 functionId = 2; // function id refers to the Java class for the payload
optional uint64 requestId = 3; // Identifier to associate the request to a response
optional TPPayload payload = 4; // serialized representation of a TP message
optional uint64 durability = 5; // life time of message - used from backend
optional DataContainer dataPayload = 6;**
}
BackendCommunicationService.proto
package com.fleetboard.tp.backend.protobuf;
option java_package = "com.fleetboard.tp.proto.backend";
message DataContainer {
required DeviceApplication application = 1; // The container's recipient (MT) or sender (MO)
required string fileName = 2; // File name (no path), length up to 255
required uint64 fileTime = 3; // File time as ms since 1970-01-01 00:00 UTC
}
完全限定导入文件中的名称:
com.fleetboard.tp.backend.protobuf.DataContainer
或
(
确保它从根开始)
您也可以尝试只使用不相交部分,但我不知道它是否有效:
backend.protobuf.DataContainer
(因为两者都有com.fleetboard.tp.
前缀)
backend.protobuf.DataContainer