关于Java:在Maven中使用grpc

Using grpc in maven

有谁知道如何为Maven中的grpc应用程序编译* .proto文件?

这就是我在Maven中编译protobuf的方式-(旧方法,使用已安装的protoc编译器,摘自pom.xml):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  <build>
    <plugins>

      <!-- protocol buffers runner, requires protoc -->
      <plugin>
        maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>generate-protobuf-sources</id>
            <phase>generate-sources</phase>
            <configuration>
              <tasks>
                <mkdir dir="target/generated-sources/java" />

                <exec executable="protoc">
                 
                 
                </exec>
              </tasks>
              <sourceRoot>target/generated-sources/java</sourceRoot>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

我想知道grpc是否有可能实现类似的目标。 据我了解,我需要以某种方式将protoc-gen-grpc-java插件与protobuf连接起来,但是我不确定该怎么做。

更新:对于那些感兴趣的人,我在github上使用maven创建了一个客户端服务器应用程序的完整示例。


我强烈建议按照grpc-java自述文件中的说明使用protobuf-maven-plugin。

如果您真的想手动执行此操作,则可以从Maven Central下载protoc-gen-grpc-java并为protoc的执行者添加另一个:--plugin=protoc-gen-grpc-java=path/to/protoc-gen-grpc-java