2017-06-28 8 views
0

私はrelayrides/pushyを実装しようとしていますが、次のランタイムエラーを取得しています:java.lang.NoClassDefFoundErrorが:IO /ネッティー/ハンドラ/ SSL/SslContextBuilder

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

<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> 

javaの

final ApnsClient apnsClient = new ApnsClientBuilder() 
      .setClientCredentials(new File(PATH_TO_P12_CERT), CERT_PASSWORD) 
      .build(); 

私のmvn依存関係が間違っていると推測しています。どんな助けもありがたい。

enter image description here

UPDATE

私はに私の依存関係を更新:

<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) 

答えて

0

私が作成した間あなたがあなたのクラスパスをきれいにしましたテストプロジェクトのみ依存

<dependency> 
    <groupId>com.turo</groupId> 
    <artifactId>pushy</artifactId> 
    <version>0.10</version> 
</dependency> 

とシンプルなメインクラスだけ切り取らあなたは上記の使用していて、それが上のBootstrapConfigの2つのバージョンがあるかもしれないように見える私には罰金

をうまくいくとクライアントの作成を含みますクラスパス。すべての依存関係を削除しようとすると、依存関係の削除やクリーンアップ/リフレッシュが行われます。

1

あなたはnetty 4.1と4.0を混在させるようです。あなたは圧倒的な使い方をしたい場合は、4.1を使用する必要があります。

関連する問題