繁体   English   中英

eclipse中的Java App Engine项目返回Localhost上的Server App Engine Standard无法启动

[英]Java App Engine Project in eclipse return Server App Engine Standard at Localhost failed to start

我正在Eclipse Photon中使用Java 7开发Java App Engine应用程序。 当我创建一个新的App Engine标准项目并导入该项目并尝试运行它时,我的一个开发人员收到了一个存在的App Engine Java Web应用程序,并返回以下错误:

本地服务器的Server App Engine Standard无法启动。

这是堆栈跟踪:

Warning: Google App Engine Java 7 runtime is deprecated.
Warning: See https://cloud.google.com/appengine/docs/deprecations/java7
java.lang.RuntimeException: Unable to create a DevAppServer
    at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:401)
    at com.google.appengine.tools.development.DevAppServerFactory.access$000(DevAppServerFactory.java:31)
    at com.google.appengine.tools.development.DevAppServerFactory$1.run(DevAppServerFactory.java:318)
    at com.google.appengine.tools.development.DevAppServerFactory$1.run(DevAppServerFactory.java:315)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:314)
    at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:374)
    at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:45)
    at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:247)
    at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:238)
Caused by: java.lang.ClassCastException: ClassLoader is jdk.internal.loader.ClassLoaders$AppClassLoader@4459eb14, not a URLClassLoader.
    at com.google.apphosting.utils.security.SecurityManagerInstaller.generatePolicyFile(SecurityManagerInstaller.java:139)
    at com.google.apphosting.utils.security.SecurityManagerInstaller.install(SecurityManagerInstaller.java:94)
    at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:377)
    ... 9 more

因此,您的堆栈跟踪表明您正在使用Java 9 VM(或更高版本)启动,而App Engine开发工具不支持该Java 9 VM。

at java.base/java.security.AccessController.doPrivileged(Native Method)

假设您正在使用Eclipse的Cloud Tools,请首先确保您的Google Cloud SDK是最新的。 如果您使用自己的副本,请在命令行上运行gcloud components update 如果要让Eclipse的Cloud Tools管理您的SDK,请打开“偏好设置”>“ Google Cloud Tools” ,然后选择“ 更新”

然后,您需要将Eclipse配置为使用Java 8 JRE或JDK作为Java 8启动的默认JVM:

  1. 如果还没有Java 8 VM,请安装它。
  2. 打开“首选项”>“ Java”>“已安装的JRE” 如果找不到您的Java 8 VM,请选择添加搜索
  3. 打开“首选项”>“ Java”>“已安装的JRE”>“执行环境”,然后选择“ JavaSE-1.8 ,并确保将Java 8 VM选中为默认VM。

(如果您使用的是Java 1.7 VM,则可以重复上述操作,不过请注意, Java 7的App Engine支持将在2019年1月关闭 。)

然后,您应该可以启动了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM