Google Cloud Messaging을 Eclipse에서 작동 시키려고했습니다. 데모 웹 페이지에서 주어진 예제를 컴파일하고 오류없이 실행할 수있었습니다. 그러나 저지를 사용하여 내 자신의 예제를 만들려고하면 다음 코드가 보낸 사람을 만들려고 할 때 "java.lang.NoClassDefFoundError : com/google/android/gcm/server/Sender"라는 런타임 오류가 발생합니다.GCM : java.lang.NoClassDefFoundError : co.kr/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_key로 바꿨습니다. 튜토리얼에서 설명하는 개미 명령을 실행하여 데모를 작동시킬 수 있었기 때문에 작동한다는 것을 알았습니다. 또한 단지 모호성의 경우에 대비하여, 내가 얻는 오류는 서버 측이며, 안드로이드 장치와 관련이 없습니다. 나는 이미 시도
것 : 내 WEB-INF/lib 폴더에있는 GCM-server.jar을 포함했다
- 은 프로젝트 속성에서 나는 빌드 경로에 포함되어있다.
- 다른 사이트에서도 언급했듯이 jcm_simple-1.1.jar을 gcm-server.jar과 동일한 방법으로 포함 시키려고했습니다. 이것이이 오류에 어떤 영향을 미치는지는 모르겠지만 몇 가지 다른 장소에서 대답으로 나열된 것을 보았습니다.
- (솔루션) tomcat 서버를 삭제하고 새 것을 생성했습니다. 아마도 대신 프로젝트를 정리하고 동일한 결과를 얻을 수있었습니다.
데모 튜토리얼 링크 : http://developer.android.com/guide/google/gcm/demo.html.
나는 똑같은 문제가 있지만 단순히 "깨끗한 해결책"이 도움이되지 못했습니다. 나는 Tomcat이 아닌 Jetty를 사용하고있다. gcm-server.jar이 참조되고 빌드 경로에 있습니다. gcm-server.jar이 실제로 배포되었는지 확인할 수 있도록 Jetty/Eclipse가 시작하기 전에 war 파일을 게시하는 위치는 누구나 알고 있습니까? – Nilzor
업데이트 : 내 솔루션에 누락 된 ** json_simple-1.1.jar ** – Nilzor
@Nilzor 당신은 푸 (fu)를 해결했습니다. 큰 미스터리! 정말 고맙습니다! 미친 친구 야! 당신은 저를 구합니다! \영형/ –