netty没有检测到netty-tcnative

时间:2017-05-26 12:20:16

标签: netty grpc-java

在深入研究我的问题时,atg gRpc with TLS Client Authentication using SunPKCS11 in netty fails解释说,我改变了netty-tcnative-boringssl的版本。我的build.gradle中的cange来自

compile 'io.netty:netty-tcnative-boringssl-static:1.1.33.Fork26' 

compile 'io.netty:netty-tcnative-boringssl-static:+'

导致:

  

+ --- io.netty:netty-tcnative-boringssl-static:+ - > 2.0.1.Final

我这样做了,因为根据netty的javadoc SslContextBuilder's keyManager(KeyManagerFactory factory)方法也适用于OpenSSL作为提供程序,它不适用于版本1.1.33.Fork26。

现在,使用新版本netty的slf4j调试输出告诉我:

  

[main] DEBUG io.netty.handler.ssl.OpenSsl - netty-tcnative不在   类路径; OpenSslEngine将不可用

因此,对netty-tcnative的检测似乎失败了。调试到  io.netty.handler.ssl.OpenSsl的静态代码块, 检测失败,因为

Class.forName("org.apache.tomcat.jni.SSL", false, OpenSsl.class.getClassLoader());

抛出异常。 我做错了什么,或者这是一些复苏 lat年问题(https://github.com/relayrides/pushy/issues/303https://github.com/netty/netty-tcnative/issues/136)? //使用Oracle Java 1.8.21在64位Win 10上工作

1 个答案:

答案 0 :(得分:0)

Grpc Java 1.3.0不支持netty版本2. 。等待和更新到gRPC java 1.4.0开箱即用,因为对提交https://github.com/grpc/grpc-java/commit/67eefa69b4009948ac664691e719f683c4478290包含netty 2。的支持。