GCM服务器端的问题

时间:2012-11-27 09:34:46

标签: java rest google-cloud-messaging

我试图在Android设备中使用GCM测试推送通知。只是我用stackoverflow中的可用部分运行服务器端测试。但我得到 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"

1 个答案:

答案 0 :(得分:1)

您是否正在使用

运行应用
java com.univ.entity.GCMTestingClient 

如果是,那么您在代码之上缺少包名称:

package  com.univ.entity

基本上,您的错误是说java无法找到您尝试运行的类。您应该位于顶级目录中,并使用GCMTestingClient类查看“com / univ / entity /”目录。