如何从Java Maven项目生成python protobuf

时间:2018-10-22 11:13:45

标签: java python maven protocol-buffers protobuf-java

我有一个maven项目,其中定义了各种.proto文件,其相应的Java文件是通过maven插件生成的。生成的文件将用于实现[rpc-服务器实现],但我希望它可以被python客户端使用。

因此需要与这些原始文件等效的python。 一种方法是手动对这些python protobuf文件运行.proto命令并生成代码,但这太费力了。我正在寻找其他选择。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使手动命令b自动从Maven运行。看一下exec-maven-plugin插件。

您需要在pom.xml的插件部分中添加类似的内容:

<plugin>
  <artifactId>exec-maven-plugin</artifactId>
  <groupId>org.codehaus.mojo</groupId>
  <executions>
    <execution>
      <id>Stuff I want done</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>exec</goal>
      </goals>
      <configuration>
        <executable>path/stuff.sh</executable>
      </configuration>
    </execution>
  </executions>
</plugin>

调整phase和要运行的脚本。

答案 1 :(得分:1)

通过在pom文件中为protobuf-maven-plugin(link)添加执行目标作为“ compile-python”来工作。