0

AndroidデバイスでGCMを使用してプッシュ通知をテストしようとしています。スタックオーバーフローで利用可能な部分を使用してサーバー側のテストを実行するだけです。しかし、私はjava.lang.NoClassDefFoundError: com/univ/entity/GCMTestingClientを得ました

import java.io.IOException;

import com.google.android.gcm.server.Message;
import com.google.android.gcm.server.Result;
import com.google.android.gcm.server.Sender;

public class GCMTestingClient {
    public String  GCMTest() throws IOException {
        Sender sender = new Sender("AszEaAipXqOJl--lMKSk6qHiOO7zmavU3cRQPk");
        Message message = new Message.Builder()
                .collapseKey("1")
                .timeToLive(3)
                .delayWhileIdle(true)
                .addData("hello",
                        "this text will be seen in notification bar!!").build();

        Result result = sender.send(message, "93821834343", 1);
        System.out.println("result" + result);
        return result.toString();
    }

    public static void main(String[] args) {

        try {
            GCMTestingClient gcm=new GCMTestingClient();
            gcm.GCMTest();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

この問題を解決するのを手伝ってください。

エラーメッセージ :

 java.lang.NoClassDefFoundError: com/univ/entity/GCMTestingClient
Caused by: java.lang.ClassNotFoundException: com.univ.entity.GCMTestingClient
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Exception in thread "main"
4

1 に答える 1

1

を使用してアプリを実行していますか

java com.univ.entity.GCMTestingClient 

?

はいの場合、コードの上にパッケージ名がありません。

package  com.univ.entity

基本的に、あなたのエラーは、Javaが実行しようとしているクラスを見つけられないことを示しています。最上位ディレクトリにいる必要があり、GCMTestingClient クラスを含む "com/univ/entity/" ディレクトリが表示されます。

于 2012-11-27T09:44:52.493 に答える