2012-10-21 55 views
8

每當我嘗試使用ant構建GCM演示服務器from the documentation時,我都會收到17個編譯錯誤。似乎有些GCM庫缺失。我該如何解決這些問題?構建GCM演示服務器應用程序時遇到問題

Errors: 

    Buildfile: build.xml 

init: 

compile: 
    [javac] Compiling 7 source files to /root/gcm/samples/gcm-demo-server/build/classes 
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:18: package com.google.android.gcm.server does not exist 
    [javac] import com.google.android.gcm.server.Constants; 
    [javac]         ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:19: package com.google.android.gcm.server does not exist 
    [javac] import com.google.android.gcm.server.Message; 
    [javac]         ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:20: package com.google.android.gcm.server does not exist 
    [javac] import com.google.android.gcm.server.MulticastResult; 
    [javac]         ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:21: package com.google.android.gcm.server does not exist 
    [javac] import com.google.android.gcm.server.Result; 
    [javac]         ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:22: package com.google.android.gcm.server does not exist 
    [javac] import com.google.android.gcm.server.Sender; 
    [javac]         ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:46: cannot find symbol 
    [javac] symbol : class Sender 
    [javac] location: class com.google.android.gcm.demo.server.SendAllMessagesServlet 
    [javac] private Sender sender; 
    [javac]   ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:59: cannot find symbol 
    [javac] symbol : class Sender 
    [javac] location: class com.google.android.gcm.demo.server.SendAllMessagesServlet 
    [javac] protected Sender newSender(ServletConfig config) { 
    [javac]   ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:62: cannot find symbol 
    [javac] symbol : class Sender 
    [javac] location: class com.google.android.gcm.demo.server.SendAllMessagesServlet 
    [javac]  return new Sender(key); 
    [javac]    ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:81: cannot find symbol 
    [javac] symbol : class Message 
    [javac] location: class com.google.android.gcm.demo.server.SendAllMessagesServlet 
    [javac]   Message message = new Message.Builder().build(); 
    [javac]  ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:81: package Message does not exist 
    [javac]   Message message = new Message.Builder().build(); 
    [javac]         ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:82: cannot find symbol 
    [javac] symbol : class Result 
    [javac] location: class com.google.android.gcm.demo.server.SendAllMessagesServlet 
    [javac]   Result result = sender.send(message, registrationId, 5); 
    [javac]  ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:115: cannot find symbol 
    [javac] symbol: class Message 
    [javac]   Message message = new Message.Builder().build(); 
    [javac]  ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:115: package Message does not exist 
    [javac]   Message message = new Message.Builder().build(); 
    [javac]         ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:116: cannot find symbol 
    [javac] symbol: class MulticastResult 
    [javac]   MulticastResult multicastResult; 
    [javac]  ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:123: cannot find symbol 
    [javac] symbol: class Result 
    [javac]   List<Result> results = multicastResult.getResults(); 
    [javac]   ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:127: cannot find symbol 
    [javac] symbol: class Result 
    [javac]   Result result = results.get(i); 
    [javac]   ^
    [javac] /root/gcm/samples/gcm-demo-server/src/com/google/android/gcm/demo/server/SendAllMessagesServlet.java:140: cannot find symbol 
    [javac] symbol: variable Constants 
    [javac]    if (error.equals(Constants.ERROR_NOT_REGISTERED)) { 
    [javac]       ^
    [javac] 17 errors 

BUILD FAILED 

回答

10

我從來沒有運行這個項目我自己,但看起來它是從羣衆演員\谷歌\ GCM \ GCM服務器\ DIST \ GCM-的server.jar和它的依賴失蹤的庫。將這些添加到此項目下的libs文件夾中,然後重試。

+1

哦,我想我解決了它。感謝您的信息。 我所做的是,我將生成的文件夾從gcm-server複製到gcm-demo-server並覆蓋現有的文件夾。然後跑螞蟻,它編譯沒有錯誤。 – Bhavyanshu

+14

它在自述文件「ant -f ../../gcm-server/build.xml update-demo」中解釋過。 – popov130

+6

儘管Google文檔應該更新。遵循他們指示的每個人都會得到這些編譯器錯誤。 – Ixx

相關問題