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

101*_*ris 33 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.
Run Code Online (Sandbox Code Playgroud)

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

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

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

谢谢

链接到我的构建路径的图像

小智 60

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

  • TL; DR:编辑你的eclipse.ini.例如,在Windows 7下,将以下内容添加到eclipse.ini:`-vm`,然后是换行符,然后是`C:\ Program Files(x86)\ Java\jdk1.7.0_07\bin\javaw.exe`(是的,不要'使用引号,是的,编辑路径以适合您的实际安装位​​置)....如果你的eclipse.ini包含`-vmargs`的东西,请确保所有`-vm`的东西都是第一个,然后是所有的`-vmargs`东西. (3认同)
  • 谢谢!当我编辑eclipse.ini并将eclipse的VM设置为与GAE项目的构建路径相同的jdk时,错误就消失了.(C:\ Program Files\Java\jdk1.7.0_02\bin\javaw.exe,在我的例子中,也是win7x64.) (2认同)
  • 请注意,在指定-vm参数时,它必须是eclipse.ini文件的第一行.-vm参数位于第一行,第二行包含javaw.exe文件的路径. (2认同)
  • @mrmuggles不是真的.只要-vm参数高于-vmargs参数,就可以了.从链接AlohaCode发布:`-vm选项必须在-vmargs选项之前发生,因为-vmargs之后的所有内容都直接传递给JVM. (2认同)

bit*_*ock 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

  • 很好的解决方案,不需要编辑eclipse.ini (2认同)