无法让JavaPNS用于推送通知

Nis*_*isk 2 java bouncycastle push-notification apple-push-notifications ios

好的,所以我正在为一个应用程序后端的java服务器工作,它必须能够发出iOS推送通知作为更大代码库的一部分,所以我使用了JavaPNS库(v2.1.1),它被使用(并且曾经工作过tomcat版本的服务器.我在Arch Linux上使用Eclipse进行本地开发.

我正在尝试最简单的测试:

try{ 
   Push.alert("Hello", "cert.p12", "password", false, "<my iPods UDID>");
}catch(Exception e){
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

结果异常是:

 Exception in thread "main" java.lang.NoClassDefFoundError:org/bouncycastle/jce/provider/BouncyCastleProvider
at javapns.notification.PushNotificationManager.initializeConnection(PushNotificationManager.java:107)
at javapns.Push.sendPayload(Push.java:171)
at javapns.Push.alert(Push.java:47)
at testIOS.main(testIOS.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)
... 4 more
Run Code Online (Sandbox Code Playgroud)

cert文件位于本地目录中(没有关于它加载的投诉),密码和UDID都是正确的.我尝试了一些事情(可能是徒劳的),比如从oracle安装无限制的JCE策略:http: //www.bouncycastle.org/wiki/display/JA1/Provider+Installation

但我真的不知道什么是错的,它似乎无法找到那个类/库,但我真的不知道如何解决它.提前感谢任何提示.

Moh*_*dil 6

你bcprov-jdk15-146.jar在自己的lib吗?如果没有,请从此链接下载jar并将其放在lib中.

充气城堡