我有一个目录将我所有的原型文件存储在
${basedir}/resources/proto/
,有一个文件a.proto
,其中通过resources/proto/b.proto
导入另一个原型文件。我尝试了以下配置,但它没有按预期工作:
<plugin>
<groupId>com.github.os72</groupId>
<artifactId>protoc-jar-maven-plugin</artifactId>
<version>3.11.4</version>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<inputDirectories>
<include>${basedir}/resources/proto</include>
</inputDirectories>
<includeDirectories>
<include>${basedir}/resources/proto</include>
</includeDirectories>
<outputTargets>
<outputTarget>
<type>java</type>
<outputDirectory>${project.build.directory}/generated-sources/java</outputDirectory>
</outputTarget>
</outputTargets>
</configuration>
</execution>
</executions>
</plugin>
我很确定 includeDirectories 标签只是额外的,什么都不做,我的错误是
[ERROR] /home/${basedir}/resources/proto/a.proto [0:0]: resources/proto/b.proto: File not found.
我怎样才能正确地包含 protobuf 目录以便它可以编译?我无法更改原型文件,因为它是一个 git 子模块,因此我需要解决当前情况。