我从eclipse创建了一个Google App Engine标准项目,并尝试在本地App Engine上运行它。它没有启动并引发以下错误-
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:3636)
at com.google.appengine.tools.development.SharedMain.setTimeZone(SharedMain.java:219)
at com.google.appengine.tools.development.SharedMain.postServerActions(SharedMain.java:188)
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)
还请注意,我尚未对该项目进行任何更改。这是创建的默认设置。
答案 0 :(得分:0)
这可能是您的jdk版本存在的问题。 javac -version
会报告什么?我遇到了与版本12相同的堆栈跟踪。切换到1.8可行。
在MacOS上,此答案有帮助:How to set or change the default Java (JDK) version on OS X?
其他平台应具有类似的版本切换方式。
答案 1 :(得分:0)
这似乎是JDK12的问题-似乎JDK12限制了程序公开的系统属性,以前我在OS版本中遇到过类似的问题。
我已将其报告给Google,您可以将其加注星标,以使他们感受到事情的重要性:https://issuetracker.google.com/issues/140787205