谷歌应用引擎部署错误

时间:2015-06-09 20:10:40

标签: java google-app-engine netbeans

我在Google应用引擎上部署时遇到问题。 该项目在我的电脑上正常运行,但是当我上传它时,我收到以下消息:

  

请输入代码:访问代码无效或OAuth   令牌已被撤销。详细信息:invalid_grant

之后,浏览器会打开一个页面,其中Google应用引擎会请求权限,一旦我提供,就会提供要在应用程序中复制的代码。但输入窗口不起作用,因为它卡在上一条消息中。

我使用带有appengine-java-sdk v1.9的NetBeans v8,并且在示例项目中遇到了同样的错误

我alredy试图删除文件.appcfg_oauth2_tokens_java但它没有用。

任何帮助都将不胜感激,谢谢。

应用服务引擎-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。

我检查了系统变量以指向jdk文件夹,但问题仍然存在。

4 个答案:

答案 0 :(得分:61)

运行mvn appengine时:更新 你明白了:

"Either the access code is invalid or the OAuth token is revoked.Details: invalid_grant"

然后什么都没有,你需要删除

~/.appcfg_oauth2_tokens_java

再次运行命令时,浏览器将启动并要求您登录(到您的Google应用引擎帐户)。 登录后,您将获得一个代码以粘贴到命令行...

答案 1 :(得分:1)

我认为你的appengine-web.xml中的<application>guestbook</applicaiton标记不正确。这应该是http://console.developers.google.com处的唯一项目ID。如果你没有,你可以在那里创建一个。

答案 2 :(得分:1)

Google App Engine的500错误是由于运行时错误造成的。如果您检查日志,似乎您已经获得了Unsupported major.minor版本52.0。

Google App Engine仍在JDK 7上运行,您已使用JDK8上传了已编译的版本。请使用JDK 7进行编译,问题将消失。

答案 3 :(得分:0)

关于第一个错误

  

请输入代码:访问代码无效或OAuth令牌已被撤销。详细信息:invalid_grant

在试图解决其他问题时它消失了,我不知道原因是什么。

第二次

  

java.lang.RuntimeException:无法获取System Java编译器。请使用JDK,而不是JRE。

我通过改变环境变量PATH的值来解决这个问题,将jdk目录放在其他任何东西之前。

第三个:

  

来自servlet的未捕获异常java.lang.UnsupportedClassVersionError:org / apache / jsp / guestbook_jsp:不支持的major.minor版本52.0

Christopher Ebejer提供的答案是正确的。 现在,这些示例与maven一起使用netbeans。

非常感谢。