Google App Engine JSP无法部署:java.lang.RuntimeException:无法获取System Java Compiler。请使用JDK,而不是JRE

时间:2012-12-18 18:15:10

标签: java eclipse google-app-engine jsp

希望这很简单但是......除了部署到GAE之外,Eclipse已经为所有事情做了相对较好的工作。

我可以在本地运行我的GAE应用,但当我尝试部署到谷歌时,我收到此消息:

java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE.

我已将构建路径设置为JDK。

当尝试从多个系统(win7和win8)部署同一个项目时也会发生这种情况,因此我怀疑问题与项目本身有关。这个特定的项目已经存在并且已经在谷歌上运行了多年。

有趣的是,当我在我的应用程序中部署.jsp文件时,此错误才会显示出来。如果我删除了jsp文件,它会部署而不会出错。 (有点需要jsp文件)

感谢

link to image of my build path

6 个答案:

答案 0 :(得分:60)

我遇到了同样的问题,并且在强制Eclipse使用后能够成功部署 我的SDK目录中的JRE(Win 7 64位)。要强制Eclipse使用特定的JRE,请参阅this。似乎Eclipse使用的JVM,app引擎生成的JVM,& appconfig使用的JVM应该都是相同的。希望这对你的情况也有帮助。

答案 1 :(得分:12)

根据AlohaCode的回答,我尝试将我的项目jre设置为与我的eclipse jre相同。这对我来说不够。答案是在我的类路径中,C:\ windows \ system32中有java.exe,这是我的java home变量之前的。 解决方案是将java主路径放在C:\ windows \ system32条目之前。 我在这里找到了答案:2FL5sJ“> https://groups.google.com/forum/?fromgroups =#!msg / google-appengine-java / RyFybJWUhU4 / 78UE_2FL5sJ

答案 2 :(得分:2)

在Eclipse中,转到:Window-> Preferences-> Java-> Installed JREs,add-> Standard VM TO JDK PATH \ JRE。如果您之前检查过JRE,请取消选中并检查此jre

答案 3 :(得分:2)

给出的建议解决了我的问题。 -vm参数不能是第一行。

-vm

C:\Program Files (x86)\Java\jdk1.7.0_51\bin\javaw.exe

答案 4 :(得分:0)

在eclipse.ini中设置-vm没有帮助。所有其他设置似乎都指向JDK。出于绝望,我从系统中卸载了所有JRE,只留下了JDK。结果是Eclipse无法启动,因为JDK bin目录不在我的PATH上(这里是Windows 8)。在环境系统变量中添加它可以启动Eclipse。此后我可以部署到app引擎。

答案 5 :(得分:-2)

删除位于C:/Program Files(*86)/Java文件夹中的 JRE文件,重新打开eclipse IDE解决了这个问题。

我的C:/Program Files/Java文件夹中安装了Java JDK,之前未检测到。