Jersey GCM:java.lang.NoClassDefFoundError:com/google/android/GCM/server/Sender

Jersey GCM:java.lang.NoClassDefFoundError:com/google/android/GCM/server/Sender,jersey,noclassdeffounderror,google-cloud-messaging,Jersey,Noclassdeffounderror,Google Cloud Messaging,我一直在尝试让Google云消息在eclipse中工作。我能够编译他们的演示网页上给出的示例并运行,没有任何错误;但是,当我尝试使用jersey创建我自己的示例时,当以下代码尝试创建发件人时,我会得到运行时错误java.lang.NoClassDefFoundError:com/google/android/gcm/server/Sender @POST @Path("/send") public Response sendMessage() throws IOException { S

我一直在尝试让Google云消息在eclipse中工作。我能够编译他们的演示网页上给出的示例并运行,没有任何错误;但是,当我尝试使用jersey创建我自己的示例时,当以下代码尝试创建发件人时,我会得到运行时错误java.lang.NoClassDefFoundError:com/google/android/gcm/server/Sender

@POST
@Path("/send")
public Response sendMessage() throws IOException
{
    Sender sender = new Sender("api_key");
    Message message = new Message.Builder().build();
    sender.send(message, DataStore.getDevices(), 5);
    return Response.status(200).entity("Success").build();
}
注意:我已经用api_密钥替换了我真正的api密钥。我知道它是有效的,因为我能够通过运行教程中解释的ant命令来让演示正常工作。另外,为了避免歧义,我得到的错误是服务器端的,与android设备无关

我已经尝试过的事情:

我已将gcm-server.jar包含在WEB-INF/lib文件夹中,并在项目属性下将其包含在构建路径中。 正如在其他网站上提到的那样,我也尝试过像包括gcm-server.jar一样包括json_simple-1.1.jar。我不知道这会如何影响这个错误,但我在几个不同的地方看到了答案。 解决方案删除了tomcat服务器并创建了一个新服务器。我可能只是清理了这个项目,得到了同样的结果。
演示教程链接:。

我刚刚找到了解决问题的方法。在挫折中,我从eclipse中删除了旧的Tomcat服务器,并创建了一个新的。当我再次运行该项目时,根本没有任何问题。当我第一次设置这个项目时,我已经在WEB-INF/lib中包含了jar文件,后来,在互联网上阅读了很多文章之后,我将gcm-server.jar添加到构建路径中。似乎此操作可以修复它,但由于我不知道的原因,在更改之前服务器上有一些遗留文件。我本应该尝试清理我的项目,但我甚至没有想到这是一个问题。无论如何,我希望这能帮助到一些人,因为我已经把我在互联网上能找到的所有信息浓缩到了这篇文章中,也包括了我自己的困境和解决方法。

我刚刚找到了解决问题的方法。在挫折中,我从eclipse中删除了旧的Tomcat服务器,并创建了一个新的。当我再次运行该项目时,根本没有任何问题。当我第一次设置这个项目时,我已经在WEB-INF/lib中包含了jar文件,后来,在互联网上阅读了很多文章之后,我将gcm-server.jar添加到构建路径中。似乎此操作可以修复它,但由于我不知道的原因,在更改之前服务器上有一些遗留文件。我本应该尝试清理我的项目,但我甚至没有想到这是一个问题。无论如何,我希望这能帮助到一些人,因为我已经把我在互联网上能找到的所有信息浓缩到了这篇文章中,也包括了我自己的困境和解决方案。

我也有同样的问题,但简单的干净解决方案对我没有帮助。我用的是Jetty,不是Tomcat。gcm-server.jar被引用并位于构建路径中。有人知道Jetty/Eclipse在发布之前在哪里发布war文件,以便我可以验证gcm-server.jar是否实际部署了吗?更新:我的版本中缺少的是json_simple-1.1.jarsolution@Nilzor你解决了一个问题。。。大秘密!非常感谢你!我快疯了,伙计!你救了我一天\o/I也有同样的问题,但简单的清洁解决方案对我没有帮助。我用的是Jetty,不是Tomcat。gcm-server.jar被引用并位于构建路径中。有人知道Jetty/Eclipse在发布之前在哪里发布war文件,以便我可以验证gcm-server.jar是否实际部署了吗?更新:我的版本中缺少的是json_simple-1.1.jarsolution@Nilzor你解决了一个问题。。。大秘密!非常感谢你!我快疯了,伙计!你救了我一天\o/