Tag: maven dependency

java.lang.NoClassDefFoundError:io / netty / handler / ssl / SslContextBuilder

我正在尝试实现relayrides / pushy ,但我收到以下运行时错误: Jun 28, 2017 2:06:58 PM com.turo.pushy.apns.SslUtil getSslProvider INFO: Native SSL provider not available; will use JDK SSL provider. Exception in thread “main” java.lang.NoClassDefFoundError: io/netty/handler/ssl/SslContextBuilder at com.turo.pushy.apns.ApnsClientBuilder.build(ApnsClientBuilder.java:396) at com.jobs.spring.service.NotificationServiceImpl.sendIOSPushNotification(NotificationServiceImpl.java:122) Caused by: java.lang.ClassNotFoundException: io.netty.handler.ssl.SslContextBuilder 的pom.xml org.apache.httpcomponents httpclient 4.5.2 com.turo pushy 0.10 io.netty netty-tcnative 2.0.5.Final io.netty netty-handler 4.0.27.Final com.ning async-http-client 1.9.40 com.google.code.gson gson 2.8.1 […]

用Maven处理依赖地狱的系统方法

我正在努力解决如何处理jar依赖地狱的问题。 我有一个使用一些aws sdk的Maven-IntelliJ Scala项目。 最近添加kinesis sdk引入了不兼容的Jackson版本。 我的问题是 :我如何系统地解决Jar地狱的问题? 我理解类加载器以及maven如何在重复的Jars之间选择,但我仍然对解决问题的实际步骤感到茫然。 我目前的尝试是基于反复试验,我在jackson的例子中概述了这里: 首先,我在Jackson数据绑定ObjectMapper类上看到了实际的exception,在本例中是NoSuchMethodError。 然后,我查看Jackson文档,了解添加或删除方法的时间。 这通常非常繁琐,因为我手动检查每个版本的api文档(问题1:有更好的方法吗?) 。 然后,我使用mvn dependency:tree来确定我实际使用的Jackson版本(问题2:是否有一种自动方式询问maven正在使用哪个版本的jar,而不是梳理树输出?) 。 最后,我在添加Kinesis SDK之前比较mvn dependency:tree输出,之后,检测mvn dependency:tree输出的差异,并希望看看Jackson版本是否发生了变化。 (问题3:当发生依赖性解析时,maven如何使用着色jar中的库?与其他任何一个相同?) 。 最后,在比较树输出之后,我尝试在POM中明确添加最新的Jackson工作版本,以触发maven依赖关系解析链中的优先级。 如果最新版本不起作用,我会添加下一个最新的lib,依此类推。 整个过程非常繁琐。 除了我提出的具体问题,我也很好奇其他人对这个问题的系统方法。 有没有人有他们使用的资源?