问题
学习grpc过程中,创建了两个.proto文件分别是Memory和GPU,GPU需要引用Menmoty,两个文件都在同一个包内,但是引用的时候就是找不到Memory.proto
syntax = "proto3";
package proto;
option go_package = "./;pd";
option java_multiple_files = true;
//指定生成包名称
option java_package = "com.zbc.proto";
//指定生成类名
option java_outer_classname = "Memory";
message Memory{
enum Unit{
UNKNOWN = 0;
BIT = 1;
BYTE = 2;
KILOBYTE = 3;
MEGABYTE = 4;
GIGABYTE = 5;
TERABYTE = 6;
}
uint64 value = 1;
Unit unit = 2;
}
syntax = "proto3";
package proto;
import "memory.proto";//这一句报错
option go_package = "./;pd";
option java_multiple_files = true;
//指定生成包名称
option java_package = "com.zbc.test.proto";
//指定生成类名
option java_outer_classname = "Gpu";
message GPU {
string brand = 1;
string name = 2;
double min_ghz = 3;
double max_ghz = 4;
Memory memory = 5; //这一句报错
}
问题
解决方案
这种情况,一般是未设置.proto文件所在文件夹为源文件,可以进行如下设置:
在.proto文件所在的文件夹上右键,设置目录为源文件根目录,如下所示:
处理后就好了,但是可能不会立即生效,需要重启IDEA