2

さて、私はAppsバックエンド用のJavaサーバーで作業しているので、より大きなコードベースの一部としてiOSプッシュ通知を発行できる必要があるため、使用されたJavaPNSライブラリ(v2.1.1)を使用しました(以前はサーバーのtomcatバージョンで動作していました。ArchLinuxでEclipseを使用してローカルで開発しています。

私はそれのために可能な限り簡単なテストを試みています:

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

結果の例外は次のとおりです。

 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

証明書ファイルはローカルディレクトリにあり(ロードに関する苦情はありませんでした)、パスワードとUDIDは両方とも正しいです。オラクルから無制限のポリシーJCEをインストールするなど、いくつかのことを試しました(おそらく無駄です): http ://www.bouncycastle.org/wiki/display/JA1/Provider+Installation

しかし、私は本当に何が悪いのかわかりません。そのクラス/ライブラリを見つけることができないようですが、それを修正する方法が本当にわかりません。ヒントを事前に感謝します。

4

1 に答える 1

6

あなたはbcprov-jdk15-146.jarあなたのlibにいますか?そうでない場合は、このリンクからjarをダウンロードして、libに配置してください。

弾む城

于 2012-06-12T11:59:18.180 に答える