首页 > 解决方案 > 不断收到错误消息,提示本地主机上的 Server App Engine Standard 无法启动

问题描述

当试图在 Eclipse 中启动一个谷歌应用引擎项目时,我不断收到一条错误消息,提示本地主机上的 Server App Engine Standard 无法启动(下面的错误日志)。

有没有人遇到过这个问题,问题的原因是什么。

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.appengine.tools.development.StreamHandlerFactory (file:/C:/Users/AppData/Local/google/ct4j-cloud-sdk/LATEST/google-cloud-sdk/platform/google_appengine/google/appengine/tools/java/lib/impl/appengine-local-runtime.jar) to method java.net.URL.getURLStreamHandler(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.google.appengine.tools.development.StreamHandlerFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Jan 05, 2020 3:13:54 PM com.google.appengine.tools.development.SystemPropertiesManager setSystemProperties
INFO: Overwriting system property key 'java.util.logging.config.file', value 'C:\Users\AppData\Local\google\ct4j-cloud-sdk\LATEST\google-cloud-sdk\platform\google_appengine\google\appengine\tools\java\config\sdk\logging.properties' with value 'WEB-INF/logging.properties' from 'C:\Users\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\WEB-INF\appengine-web.xml'
java.lang.NullPointerException
    at java.base/java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
    at java.base/java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
    at java.base/java.util.Properties.put(Properties.java:1316)
    at java.base/java.util.Collections$CheckedMap.put(Collections.java:3638)
    at com.google.appengine.tools.development.SharedMain.setTimeZone(SharedMain.java:183)
    at com.google.appengine.tools.development.SharedMain.postServerActions(SharedMain.java:152)
    at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:398)
    at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:45)
    at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:257)
    at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:248)

非常感谢任何人可以提供的任何建议来帮助我解决这个问题,因为在这个问题上时间肯定对我不利。

编辑:appengine-web.xml 添加如下:

<?xml version="1.0" encoding="UTF-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <threadsafe>true</threadsafe>
    <sessions-enabled>false</sessions-enabled>
    <runtime>java8</runtime>
    <system-properties>
        <property value="WEB-INF/logging.properties" 
            name="java.util.logging.config.file"/>
    </system-properties>
</appengine-web-app>

标签: javaeclipsegoogle-app-enginenullpointerexceptioncloud

解决方案


您正在使用本地开发服务器不支持的 Java 11 JVM 运行。

此问题通常表明您没有配置 Java 8 JVM。您需要:

  • 下载并安装 Java 8 JVM(例如,从采用openjdk.net)。
  • 通过Preferences > Java > Installed JREs将 JVM 添加到 Eclipse ;搜索按钮通常可以正常工作。
  • 在Execution Environments窗格中将此 JVM 标记为JavaSE-1.8 配置文件的默认 JVM。

推荐阅读