【发布时间】:2020-12-04 13:32:21
【问题描述】:
我已经在我的机器上安装了 OpenJDK:java - CLI 的版本会产生以下结果:
C:\java -version
openjdk version "13" 2019-09-17
OpenJDK Runtime Environment (build 13+33)
OpenJDK 64-Bit Server VM (build 13+33, mixed mode, sharing)
(我怀疑 openjdk 13 是根本问题,但由于没有明显的方法可以使用较旧的 JDK,例如 8,我希望 Eclipse 和 Google 将在最新版本的 openjdk 下运行.)
我为 Enterprise Java Developers 2020-06 (4.16.0) 全新安装了 Eclipse IDE。
我立即前往 Eclipse Marketplace 并安装了 Google Cloud Tools for Eclipse 1.8.3。我等了几分钟才完成安装。
然后我收到了需要 Google Cloud SDK 的通知,安装将立即开始。我等待这个完成。
为了验证安装,我创建了一个新的 Google App Engine Standard java 项目,它生成了一个基本的 Hello World 网页和相应的 servlet。我没有更改任何代码、配置或首选项。
我尝试通过选择 DEBUG AS > APP ENGINE 来验证功能。
几秒钟后,会显示一个错误对话框,说明:
“在 localhost 启动 App Engine Standard”遇到了问题。 本地主机上的服务器 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/Jeff.Thurston/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
java.lang.RuntimeException: Unable to create a DevAppServer
at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:369)
at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:301)
at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:383)
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)
Caused by: java.lang.ExceptionInInitializerError
at com.google.appengine.tools.development.DevAppServerImpl.<init>(DevAppServerImpl.java:124)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:354)
... 5 more
Caused by: java.lang.IllegalStateException: java.lang.NoSuchMethodException: java.net.SocksSocketImpl.<init>()
at com.google.appengine.tools.development.DevSocketImplFactory.<clinit>(DevSocketImplFactory.java:76)
... 12 more
Caused by: java.lang.NoSuchMethodException: java.net.SocksSocketImpl.<init>()
at java.base/java.lang.Class.getConstructor0(Class.java:3350)
at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2554)
at com.google.appengine.tools.development.DevSocketImplFactory.<clinit>(DevSocketImplFactory.java:72)
... 12 more
【问题讨论】:
-
为什么说不能使用旧的JDK?
-
我无法在 openjdk.java.net 上找到适用于 Windows 的安装二进制文件,但是,我确实可以从 Oracle 获得我需要的东西。
标签: java eclipse google-app-engine google-cloud-sdk