Eclipse,AppEngine:java.lang.RuntimeException:无法获取System Java编译器。请使用JDK,而不是JRE

时间:2013-10-03 19:54:09

标签: java eclipse google-app-engine google-eclipse-plugin

尝试部署到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)

Imgur

Imgur

我已经清理了项目,将Eclipse重新安装到最新版本,重新安装了所有插件等。我还编辑了Program Files \ Java \ eclipse-kepler-4.3 \ eclipse.ini

-vm
C:\Program Files\Java\jdk1.7.0_17\bin\javaw.exe

在顶部和之前的-vmargs。

4 个答案:

答案 0 :(得分:7)

转到安装了eclipse的Eclipse文件夹(比如c:\ eclipse)。你会发现eclipse在启动时使用的eclipse.ini文件。 添加以下行 -vm C:\ Program Files \ Java \ jdk1.7.0_25 \ bin \ javaw.exe

使用您的JDK位置更改上述java路径。它应该能够使用这个JDK,并将编译和部署到app引擎。

答案 1 :(得分:1)

在我的情况下,我试图File>Restart Eclipse,但在退出时不能正常工作并再次运行它的工作原理

答案 2 :(得分:0)

WOW !!! 我正在处理这个问题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&中指定1.7。编译器..

enter image description here

答案 3 :(得分:0)

我看到OP正在使用谷歌插件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。