JavaPNS を使用して、自宅のコンピューターからリモート プッシュ通知 (iOS) を送信しています。証明書の準備方法に関するraywenderlich.comの手順に従った後、.p12 ファイルを取得し、以下に記述されたコードに配置しました。
import javapns.Push;
import javapns.notification.Payload;
import javapns.notification.PushedNotifications;
import org.apache.log4j.*;
public class Main{
public static void main(String[] args) {
Push.alert("Hello World!", "PushChatKey.p12", "pushchat", false, "Token");
}
}
上記のコードにはデバイス トークンを含めていませんが、実際のプログラムのトークン番号がデバイスの正しいものであることは 100% 確信しています。プログラムを実行すると、(Eclipse) コンソールに次のエラーが表示されます。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at javapns.notification.Payload.<clinit>(Payload.java:25)
at javapns.Push.alert(Push.java:47)
at Main.check(Main.java:86)
at Main.main(Main.java:115)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4 more
私の .p12 ファイルは Java プロジェクト フォルダー内にあり、以前に寄せられた他の質問を確認して、プログラム内に org.apache インポート ステートメントを配置しました。
このような質問に対して私が見た他の回答は、次の行を含む try-catch ステートメントを使用することです: BasicConfigurator.configure();
これを配置すると、Eclipse から「BasicConfigurator を解決できません」と表示され、自分でクラスを作成するオプションが表示されます。
何が間違っているのかわかりません。どんな助けでも大歓迎です。回答者全員に事前に感謝します。