【发布时间】:2019-01-14 14:50:08
【问题描述】:
我对 GRPC 还很陌生,而 Java GRPC 是我的目标。 我有一个 GRPC 服务器在使用基于 X.509 的证书/密钥保护的特使负载均衡器后面成功运行。现在,我在为其创建客户端时遇到了问题。
Maven 存储库建议可用的最新 io.grpc 版本是 1.17.1,Github 上提到的 GRPC 示例是 1.19.0-SNAPSHOT 或 1.17.3-SNAPSHOT。
我确实复制了整个 repo 并在我的本地开发环境中构建/安装代码,我在运行客户端 (TLS) 示例以及我自己的代码时遇到了问题。
我的pom是
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<grpc.version>1.19.0-SNAPSHOT</grpc.version><!-- CURRENT_GRPC_VERSION -->
<protoc.version>3.5.1-1</protoc.version>
<netty.tcnative.version>2.0.20.Final</netty.tcnative.version>
<!-- required for jdk9 -->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
我得到的错误与 protoc-gen-grpc-java 有关,
io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:1.19.0-SNAPSHOT
我已经根据他们的带有 skipcodegen=true 属性的 git 页面构建并安装了 GRPC-JAVA,它应该在本地 maven 存储库中本地安装所需的 jar。看起来还有其他的,比如 protobuf 等,但不是这个。
然后我尝试使用 Maven 上最新可用的 1.17.1,而我的 pom 是
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<grpc.version>1.17.1</grpc.version><!-- CURRENT_GRPC_VERSION -->
<protobuf.version>3.5.1</protobuf.version>
<protoc.version>3.5.1-1</protoc.version>
<netty.tcnative.version>2.0.7.Final</netty.tcnative.version>
<!-- required for jdk9 -->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
这里的错误是-
An exception occured while executing the Java class. Could not find TLS ALPN provider; no working netty-tcnative, Conscrypt, or Jetty NPN/ALPN available
我不确定可能是什么问题,任何帮助都会非常重要。
J
【问题讨论】: