Eclipse,AppEngine:java.lang.RuntimeException:无法获取System Java Compiler。 请使用JDK,而不是JRE
尝试部署到Google AppEngine时出现此错误。 我选择了JDK!
------------ Deploying frontend ------------ Preparing to deploy: Created staging directory at: 'C:\Users\Chloe\AppData\Local\Temp\appcfg8759974391667459604.tmp' Scanning for jsp files. Compiling jsp files. java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE. Debugging information may be found in C:\Users\Chloe\AppData\Local\Temp\appengine-deploy6465203991005024943.log
C:\用户\克洛伊\应用程序数据\本地的\ Temp \ AppEngine上,deploy6465203991005024943.log:
Unable to update: java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE. at com.google.appengine.tools.admin.Application.compileJavaFiles(Application.java:814) at com.google.appengine.tools.admin.Application.compileJsps(Application.java:801) at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:615) at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:418) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:55) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:433) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:155) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
我已经清理了项目,将Eclipse重新安装到最新版本,重新安装了所有插件等等。我还编辑了Program Files \ Java \ eclipse-kepler-4.3 \ eclipse.ini with
-vm C:\Program Files\Java\jdk1.7.0_17\bin\javaw.exe
在顶部和之前-vmargs。
转到安装了eclipse的Eclipse文件夹(比如c:\ eclipse)。 你会发现eclipse在启动时使用的eclipse.ini文件。 添加以下行-vm C:\ Program Files \ Java \ jdk1.7.0_25 \ bin \ javaw.exe
使用您的JDK位置更改上面的java路径。 它应该能够使用这个JDK并将编译和部署到app引擎。
在我的情况下,我试图File>Restart
Eclipse,但退出时不工作,然后再次运行它的工作原理
哇!!! 我正在处理这个问题3-4个小时。 正要评论说他妈的这个。 但后来我把eclipse.ini改为:
-vm A:/Programming/Java/jdk1.8.0_73/bin/javaw.exe
代替:
-vm A:/Programming/Java/jdk1.7.0_79/bin/javaw.exe
和成功!
为什么这可能有用? 不太确定。 我需要1.7而不是1.8 ……但是1.7一直指向JRE而不是JDK …而且令人惊讶的是1.8没有这样做+仍然使用当前版本。 另外值得一提的是在facet / build path&compiler中指定1.7 ..
我看到OP正在使用Google Plugin for Eclipse(GPE),这已被弃用,但这曾经是Cloud Tools for Eclipse(CT4E)中的一个问题,所以我将在这里留下CT4E的相关答案以供参考。
这确实是Cloud Tools for Eclipse的一个错误,它没有使用为项目配置的JDK,而是使用JDK用于启动Eclipse进行分段。 该错误已得到修复: https : //github.com/GoogleCloudPlatform/google-cloud-eclipse/issues/2195 。
因此,其他人在这个问题中回答编辑eclipse.ini
以更改JDK以启动Eclipse是一个不再需要的临时解决方法。 只需更新到最新的CT4E版本并为项目设置JDK。 您可以在eclipse.ini
指定启动Eclipse所需的任何JDK / JRE。
- 我在哪里更改Eclipse中的设置,以便为Serializable类生成serialVersionUID?
- 如何配置Eclipse以在调试模式下跳过exception?
- 经典错误:无法更新中心| http://repo1.maven.org/maven2的索引
- Eclipse调试“找不到源”
- 如何压缩Java eclipse项目,以便它可以轻松展开到另一台计算机上?
- 无法在日食中放置断点
- 在编译Eclipse期间跳过一些文件
- 如何彻底删除Java? (错误:无法打开`C:\ Program Files \ Java \ jre6 \ lib \ i386 \ jvm.cfg’)
- 使用Maven依赖项构建路径问题(jconsole-jdk.jar)