protoc命令中的proto_path的作用是什么

H2O*_*aCl 3 java protocol-buffers

我的bash脚本具有以下代码,可为“协议缓冲区”生成调用。

protoc --proto_path=src --java_out=src 
src/com/domain/project/persistentThing.proto
Run Code Online (Sandbox Code Playgroud)

那是从2012年开始的。今天,有关Java协议缓冲区在线文档说:

protoc -I=$SRC_DIR --java_out=$DST_DIR 
$SRC_DIR/addressbook.proto
Run Code Online (Sandbox Code Playgroud)

这使得它看起来像是--proto_path被取代了。目的是--proto_path什么?

Ken*_*rda 5

-I并且--proto_path具有相同的标志:-I是简写版本。

该标志的目的是指定用于在其中查找导入文件的目录,这与C编译器的-I标志,Java的CLASSPATH环境变量,Python的标志等非常相似PYTHONPATH。您可以通过传递多个-I标志来指定多个目录;将按顺序搜索它们。