Ошибка при развертывании движка Google
У меня возникла проблема с развертыванием в Google приложении.
Проект отлично работает на моем ПК, но когда я его загружаю, я получаю следующее сообщение:
Введите код: либо код доступа недействителен, либо OAuth токен отменен. Подробности: invalid_grant
После этого браузер открывает страницу, на которой движок приложений Google запрашивает разрешение, и, как только я даю ему, предоставляет код для копирования в приложении. Но окно ввода не работает, поскольку оно застряло с предыдущим сообщением.
Я использую NetBeans v8 с appengine-java-sdk v1.9 и получил ту же ошибку с примером проекта
Я alredy попытался удалить файл .appcfg_oauth2_tokens_java, но это не сработало.
Любая помощь будет оценена, спасибо.
Appengine-web.xml
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>fiery-plate-97015</application>
<version>1</version>
<threadsafe>true</threadsafe>
<system-properties>
<property name="java.util.logging.config.file" value="WEB- INF/logging.properties"/>
</system-properties>
web.xml
<?xml version="1.0" encoding="utf-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>guestbook</servlet-name>
<servlet-class>guestbook.GuestbookServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>guestbook</servlet-name>
<url-pattern>/guestbook</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>sign</servlet-name>
<servlet-class>guestbook.SignGuestbookServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>sign</servlet-name>
<url-pattern>/sign</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>guestbook.jsp</welcome-file>
</welcome-file-list>
Обновление ситуации: я никогда не использовал maven, поэтому я взял меня на время и много ошибок, чтобы заставить его работать. В конце я создал новый проект после пошаговой инструкции google: https://cloud.google.com/appengine/docs/java/gettingstarted/creating.
Проект отлично работает на моем компьютере и, кажется, развертывается правильно, но я получаю ошибку сервера 500 при посещении страницы.
Тем временем установка maven перепуталась с netbeans, и при развертывании первого проекта я получаю исключение перед запросом кода:
java.lang.RuntimeException: не удается получить компилятор System Java. Пожалуйста, используйте JDK, а не JRE.
i проверил системные переменные, чтобы указать на папку jdk, но проблема не устранена.
Ответы
Ответ 1
При запуске mvn appengine: update
и вы получите следующее:
"Either the access code is invalid or the OAuth token is revoked.Details: invalid_grant"
а затем ничего, вам нужно удалить
~/.appcfg_oauth2_tokens_java
При повторном запуске программы браузер запустится и попросит вас войти (в свою учетную запись движка Google).
После входа в систему вы получите код для вставки в командную строку...
Ответ 2
Твой тег <application>guestbook</applicaiton
в appengine-web.xml неверен, я считаю. Это должен быть ваш уникальный идентификатор проекта http://console.developers.google.com. Вы можете создать его там, если у вас его нет.
Ответ 3
Ошибка 500 из Google App Engine связана с ошибкой времени выполнения. Если вы проверяете журналы, и, похоже, вы уже получили Unsupported major.minor version 52.0.
Google App Engine по-прежнему работает на JDK 7, и вы загрузили скомпилированную версию с помощью JDK8. Пожалуйста, скомпилируйте с помощью JDK 7, и проблема исчезнет.
Ответ 4
О первой ошибке
Пожалуйста, введите код: либо код доступа недействителен, либо токен OAuth отменен. Подробности: invalid_grant
Он исчез при попытке решить другие проблемы, я не знаю, в чем причина.
Для второго
java.lang.RuntimeException: не удается получить компилятор System Java. Пожалуйста, используйте JDK, а не JRE.
Я решил это, изменив значение переменной среды PATH, поставив каталог jdk раньше всего.
Для третьего:
Неиспользуемое исключение из сервлета java.lang.UnsupportedClassVersionError: org/apache/jsp/guestbook_jsp: Неподдерживаемая версия major.minor 52.0
Ответ Кристофера Эбеджера верен.
Теперь примеры работают как с maven, так и с netbeans.
Большое спасибо.