我试图在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"
答案 0 :(得分:1)
您是否正在使用
运行应用java com.univ.entity.GCMTestingClient
如果是,那么您在代码之上缺少包名称:
package com.univ.entity
基本上,您的错误是说java无法找到您尝试运行的类。您应该位于顶级目录中,并使用GCMTestingClient类查看“com / univ / entity /”目录。