Java GCM服务器端运行时错误(NoClassDefFoundError:消息$Builder)

Java GCM服务器端运行时错误(NoClassDefFoundError:消息$Builder),java,google-cloud-messaging,Java,Google Cloud Messaging,这是GCM通知的服务器端代码,我已经通过添加GCM-server.jar在ubuntu上使用命令行成功地构建了它,但是在运行时它崩溃了。我已经在类路径中添加了jar Exception at run time : Exception in thread "main" java.lang.NoClassDefFoundError: com/google/android /gcm/server/Message$Builder at geo.sendNotification.se

这是GCM通知的服务器端代码,我已经通过添加GCM-server.jar在ubuntu上使用命令行成功地构建了它,但是在运行时它崩溃了。我已经在类路径中添加了jar

  Exception at run time :  
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/android  /gcm/server/Message$Builder  
    at geo.sendNotification.sendNow(sendNotification.java:30)  
    at geo.geosense.main(geosense.java:27)  
Caused by: java.lang.ClassNotFoundException:   com.google.android.gcm.server.Message$Builder  
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)  
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)  
..


NoClassDefFoundError
表示应用程序无法在应用程序文件夹中找到文件的位置。建议将所有库文件和jar文件保存在项目的
libs
文件夹中

确保已将gcm.jar文件放在
libs
文件夹中,而不是
lib
文件夹中

要做到这一点,请转到
项目属性
排序并导出
,然后在已添加的jar文件上打勾


这里有一个相关的SO票证,它讨论了
NoClassDefFoundError

我正在使用命令行在linux上构建应用程序。所有jar都在lib文件夹中。我也重命名为libs,但没有访问权限。应用程序成功构建,但出现NoClassDefFoundError异常
import org.json.simple.*;  
import java.util.*;  
import com.google.android.gcm.server.Message.Builder;  
import com.google.android.gcm.server.Message;  
import com.google.android.gcm.server.Sender;  
import com.google.android.gcm.server.Result;
import com.google.android.gcm.server.MulticastResult;  
public class sendNotification {  
Sender sender = null;  
public void sendNotification ()  // function to send message   
    {  
Sender sender = new Sender("XYZ"); // api key      
    }  
    public void sendNow(String deviceID, String msg, String param)  
    {  

    Message message = new Message.Builder()  
                    .addData("message", msg)  
                    .addData("parameter one", param)  
                    .build();  
    try{      
    Result result = sender.send(message, deviceID, 1);  
    }  
    catch ( Exception e )  
    {  
        e.printStackTrace();  
    }      
    }}  

____________________________________________________________________________