Не удалось скомпилировать сгенерированные Java-файлы JSP в App Engine Google Glass

Я занимаюсь разработкой Glassware для Google Glass. Я хотел посмотреть, смогу ли я загрузить Glassware в App Engine, поэтому я получил последнюю версию, которая поддерживает App Engine (находится на GitHub здесь: https://github.com/googleglass/mirror-quickstart-java/releases/tag/app-engine). Я изменил коды API и имя своего приложения App Engine и развернул его в App Engine с помощью SDK Google App Engine в Eclipse & appcfg.cmd через командную строку. При его развертывании я получил следующую ошибку:

Failed to compile the generated JSP java files to App Engine

Полная ошибка, которую я получаю, приведена ниже (это из ее командной строки):

warning: Supported source version 'RELEASE_6' from annotation processor 'com.goo
gle.appengine.tools.compilation.DatastoreCallbacksProcessor' less than -source '
1.7'
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:7: error: package com.google.api.services.mirror.model does not exist
import com.google.api.services.mirror.model.Contact;
                                           ^
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:11: error: package com.google.api.services.mirror.model does not exist
import com.google.api.services.mirror.model.TimelineItem;
                                           ^
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:12: error: package com.google.api.services.mirror.model does not exist
import com.google.api.services.mirror.model.Subscription;
                                           ^
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:13: error: package com.google.api.services.mirror.model does not exist
import com.google.api.services.mirror.model.Attachment;
                                           ^
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:7: error: package com.google.api.services.mirror.model does not exist
import com.google.api.services.mirror.model.Contact;
                                           ^
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:11: error: package com.google.api.services.mirror.model does not exist
import com.google.api.services.mirror.model.TimelineItem;
                                           ^
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:12: error: package com.google.api.services.mirror.model does not exist
import com.google.api.services.mirror.model.Subscription;
                                           ^
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:13: error: package com.google.api.services.mirror.model does not exist
import com.google.api.services.mirror.model.Attachment;
                                           ^
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:69: error: cannot find symbol
  Contact contact = MirrorClient.getContact(credential, MainServlet.CONTACT_NAME
);
  ^
  symbol:   class Contact
  location: class index_jsp
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:69: error: cannot access Contact
  Contact contact = MirrorClient.getContact(credential, MainServlet.CONTACT_NAME
);
                                           ^
  class file for com.google.api.services.mirror.model.Contact not found
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:71: error: cannot find symbol
  List<TimelineItem> timelineItems = MirrorClient.listItems(credential, 3L).getI
tems();
       ^
  symbol:   class TimelineItem
  location: class index_jsp
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:71: error: cannot access TimelineListResponse
  List<TimelineItem> timelineItems = MirrorClient.listItems(credential, 3L).getI
tems();
                                                           ^
  class file for com.google.api.services.mirror.model.TimelineListResponse not f
ound
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav
a:74: error: cannot find symbol
  List<Subscription> subscriptions = MirrorClient.listSubscriptions(credential).
getItems();
       ^
  symbol:   class Subscription
  location: class index_jsp
C:\Users\Family3\AppData\Local\Temp\1382233159652-0\org\apache\jsp\index_jsp.jav

Index.jsp находится здесь: https://github.com/googleglass/mirror-quickstart-java/blob/8a7edd5eb8c2710b841294ca5d7d69bd176693bf/web/index.jsp

По какой-то причине в банке mirror.model есть странная иконка источников. Ни у одного из других фляг нет этого. Картинка ниже: Могу ли я получить банку из другого места?

Также кто-то предложил добавить

<packaging>war</packaging>

в pom.xml. Это не решило проблему, у меня были те же ошибки, что и раньше.

Я понятия не имею, почему я получаю эту ошибку. Кажется, проблема с файлом JSP, но это была версия, выпущенная командой Glass. Может мне что-то изменить в этом? Может быть, это проблема с некоторыми банками? Спасибо за помощь.

1 ответ

У меня та же проблема, и я решил ее, добавив

<packaging>war</packaging>

в файле pom.xml, поэтому файл pom.xml:

`

<modelVersion>4.0.0</modelVersion>
<groupId>com.google</groupId>
<artifactId>glass-java-starter</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

`теперь я использую приведенную ниже команду для компиляции и загрузки в движок приложения

mvn clean install
appcfg.sh update target/glass-java-starter-0.1-SNAPSHOT

дайте мне знать, если у вас все еще есть проблемы с этим.

Другие вопросы по тегам