protoc 命令中 proto_path 的用途是什么

What is the purpose of proto_path in the protoc command

我的 bash 脚本有以下代码为 "Protocol Buffers" 生成调用。

protoc --proto_path=src --java_out=src 
src/com/domain/project/persistentThing.proto

那是 2012 年的事。今天 online documentation for Java Protocol Buffers 说:

protoc -I=$SRC_DIR --java_out=$DST_DIR 
$SRC_DIR/addressbook.proto

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

-I--proto_path是同一个标志:-I是shorthand版本。

该标志的目的是指定一个目录,在该目录中查找导入的文件,很像 C 编译器的 -I 标志,Java 的 CLASSPATH 环境变量, Python 的 PYTHONPATH 等。您可以通过传递多个 -I 标志来指定多个目录;他们将按顺序搜索。