有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用JavaPNS向iPhone发送推送通知时出错?

我正在使用javaPNS_2.2。将推送通知消息发送到iPhone设备的jar文件

我的代码是:

PushNotificationPayload payload = PushNotificationPayload.complex();

/* Customize the payload */ 
payload.addAlert("Hello World!");
payload.addCustomDictionary("mykey1", "My Value 1");
payload.addCustomDictionary("mykey2", 2);

/* Push your custom payload */
String keystore = "C:/1.0Eywa_Baba/PushNotificationKey.p12";
String password = "Eywa@12";
boolean production = false;
String devices = "C81DD339-F5C1-529F-BEC4-6C8622BA0BFD";
List<PushedNotification> notifications = Push.payload(payload, 
                                                      keystore, 
                                                      password, 
                                                      production, 
                                                      devices);

但是,我得到了一个错误:

log4j:WARN No appenders could be found for logger (javapns.notification.Payload).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
  at javapns.notification.PushNotificationManager.initializeConnection(PushNotificationManager.java:105)
  at javapns.Push.sendPayload(Push.java:171)
  at javapns.Push.payload(Push.java:149) 
  at com.example.SendMSG.send(SendMSG.java:35)
  at com.example.APNDemo1.main(APNDemo1.java:20)
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)

是什么导致此异常


共 (2) 个答案

  1. # 1 楼答案

    在项目的类路径中包括bcprov-jdk15-140 jar

  2. # 2 楼答案

    在项目中包括bouncycastle库