gpt4 book ai didi

java - 如何从 maven 中的 protoc 生成多个类?

转载 作者:行者123 更新时间:2023-11-29 05:27:52 25 4
gpt4 key购买 nike

我想从我的 maven 文件中执行 protoc(protobuffer 编译器)。我在 pom.xml 中嵌入了一个 ant 任务,如下所示

<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
.... <!-- I have several of these blocks - how can I reduce them to one? -->
<exec executable="protoc/protoc.exe">
<arg value="--java_out=target/generated-sources"/>
<arg value="src/main/protos/Proto1.proto"/>
<arg value="--proto_path=src/main/protos"/>
</exec>
<exec executable="protoc/protoc.exe">
<arg value="--java_out=target/generated-sources"/>
<arg value="src/main/protos/Proto2.proto"/>
<arg value="--proto_path=src/main/protos"/>
</exec>
.....
</tasks>
<sourceRoot>target/generated-sources</sourceRoot>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>

我如何定义循环或其他东西,以便 Maven 遍历目录中的所有文件?

我知道那里有一个 protobuffer maven 插件,但我必须声明一个外部存储库才能使用它,目前这不是一个选项。

最佳答案

apply ant 任务应该是您需要的。将 exec 列表替换为:

<apply executable="protoc/protoc.exe" parallel="false">
<arg value="--java_out=target/generated-sources"/>
<srcfile/>
<arg value="--proto_path=src/main/protos"/>
<fileset dir="${basedir}/src/main/protos" includes="*.proto"/>
</apply>

http://ant.apache.org/manual/Tasks/apply.html

关于java - 如何从 maven 中的 protoc 生成多个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22089663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com