java.lang.NoClassDefFoundError:io/netty/handler/ssl/SslContextBuilder
我正在尝试实现,但遇到以下运行时错误: pom.xmljava.lang.NoClassDefFoundError:io/netty/handler/ssl/SslContextBuilder,java,netty,maven-dependency,Java,Netty,Maven Dependency,我正在尝试实现,但遇到以下运行时错误: pom.xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> <!
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
<!-- Push Notifications -->
<dependency>
<groupId>com.turo</groupId>
<artifactId>pushy</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative</artifactId>
<version>2.0.5.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
<version>4.0.27.Final</version>
</dependency>
<dependency>
<groupId>com.ning</groupId>
<artifactId>async-http-client</artifactId>
<version>1.9.40</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
</dependency>
我猜我的mvn依赖项是不正确的。谢谢你的帮助
更新
我将依赖项更新为:
<dependency>
<groupId>com.turo</groupId>
<artifactId>pushy</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.11.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6</version>
</dependency>
com.turo
咄咄逼人
0.10
伊奥·内蒂
讨厌的
4.1.11.最终版本
伊奥·内蒂
内蒂
2.0.1.最终版本
com.google.code.gson
格森
2.6
但是现在你可以得到:
2017年6月28日下午2:40:18 com.turo.pushy.apns.SslUtil getSslProvider
信息:本机SSL提供程序不可用;将使用JDK SSL提供程序。
线程“main”java.lang.NoSuchMethodError中出现异常:io.netty.bootstrap.bootstrap.config()Lio/netty/bootstrap/BootstrapConfig;
在com.turo.pushy.apns.ApnsClient上。(ApnsClient.java:172)
位于com.turo.pushy.apns.ApnsClientBuilder.build(ApnsClientBuilder.java:420)
位于com.jobs.spring.service.NotificationServiceImpl.sendIOSPushNotification(NotificationServiceImpl.java:121)
我创建了一个只包含依赖项的测试项目
<dependency>
<groupId>com.turo</groupId>
<artifactId>pushy</artifactId>
<version>0.10</version>
</dependency>
com.turo
咄咄逼人
0.10
一个简单的主类只是用上面使用的片段创建客户机,效果很好
在我看来,类路径上可能有两个版本的BootstrapConfig。尝试删除除pushy和clean/Refresh maven依赖项之外的所有依赖项。似乎是netty 4.1和4.0的混合。如果要使用pushy,只需使用4.1
<dependency>
<groupId>com.turo</groupId>
<artifactId>pushy</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.11.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6</version>
</dependency>
Jun 28, 2017 2:40:18 PM com.turo.pushy.apns.SslUtil getSslProvider
INFO: Native SSL provider not available; will use JDK SSL provider.
Exception in thread "main" java.lang.NoSuchMethodError: io.netty.bootstrap.Bootstrap.config()Lio/netty/bootstrap/BootstrapConfig;
at com.turo.pushy.apns.ApnsClient.<init>(ApnsClient.java:172)
at com.turo.pushy.apns.ApnsClientBuilder.build(ApnsClientBuilder.java:420)
at com.jobs.spring.service.NotificationServiceImpl.sendIOSPushNotification(NotificationServiceImpl.java:121)
<dependency>
<groupId>com.turo</groupId>
<artifactId>pushy</artifactId>
<version>0.10</version>
</dependency>