【问题标题】:Getting java.lang.RuntimeException: Cannot get the System Java Compiler. What could be the reason for it?获取 java.lang.RuntimeException:无法获取系统 Java 编译器。可能是什么原因?
【发布时间】:2014-04-18 12:49:33
【问题描述】:

我真的很难从 eclipse 开始。我想配置 Eclipse,使其对 jdkjre 都使用版本 7。我该怎么做。

现在,当我尝试将我的应用程序部署到 google app engine 时,我收到以下消息:

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

这是我对 installed jre 部分的配置:

问题的原因可能是什么?请提供有关问题的见解。

【问题讨论】:

标签: java eclipse eclipse-kepler


【解决方案1】:

原因正是错误消息所说的:Google App Engine 显然不会使用 JDK 运行您的代码,而只能使用 JRE。

您的 eclipse JRE/JDK 设置在这里无关紧要。它们不会导致您的部署目标突然安装了 JDK。但是由于您使用 JDK 功能(如编译器),因此您的应用将无法在仅安装 JRE 的地方运行。

作为补救措施,您可以将 eclipse 编译器 ecj.jar(您可以在 Internet 上的某个地方甚至通过 maven 找到)与您的应用程序捆绑在一起,并相应地重写编译内容的部分。

【讨论】:

  • 恰恰相反:需要一个 JDK。
  • @PabloLozano 怎么相反?
  • 你写的是GAE不能在JDK中运行,但是报错信息是“请使用JDK”
  • @PabloLozano 你一定很困惑。该消息的出现正是因为需要 JDK,但GAE 没有。我就是这么说的!
  • 好的,我明白了:您真正的意思是“GAE 显然没有在 JDK 上运行,而只在 JRE 上运行”。如果您使用简单的现在,则含义会发生很大变化。 PS:downvote不是我的:(
猜你喜欢
  • 2012-12-06
  • 2013-06-22
  • 1970-01-01
  • 2013-10-10
  • 2013-08-02
  • 2015-05-01
  • 2019-06-23
  • 2017-02-11
  • 1970-01-01
相关资源
最近更新 更多