jetty:错误500需要完整的JDK(不仅仅是JRE)

时间:2014-07-10 10:04:49

标签: java eclipse jsp maven jetty

我真的需要帮助。

我试图在新机器上运行我的jsp应用程序而jetty给了我这个错误: org.apache.jasper.JasperException:PWC6345:调用javac时出错。需要完整的JDK(不仅仅是JRE)

我使用ecplipse kepler,maven和win8.1 x64。

我知道有很多这些问题但是我已经尝试了所有方面: -reinstall jdk和jre; - 通过-vm在eclipse.ini中添加一个java目录 -home path is workin - 我可以从命令行调用java

所有这些都无法解决我的问题...

编辑:问题解决了 - 这是eclipse luna bug - 在eclipse kepler中它正在工作

4 个答案:

答案 0 :(得分:1)

Jetty需要JDK来编译JSP文件,而不仅仅是JRE。您的JAVA_HOME环境变量(或Jetty配置中的变量)可能指向JRE而不是JDK版本。

答案 1 :(得分:1)

尝试编辑:

在C:\ Program Files \ jetty-distribution-9.2.19.v20160908 \ etc

中的jetty.xml

添加:

<call class="java.lang.System" name="setProperty">
    <arg>org.apache.jasper.compiler.disablejsr199</arg>
    <arg>true</arg>
</call>

&#34;配置&#34;元素

答案 2 :(得分:0)

仅针对我的案例......我不知道它是否真的回答了你的问题

确保调用java来自JDK路径C:\Program Files\Java\jdk1.x.x_xx\bin

我只是重新安装新的JDK。 JDK安装将java.exe放在路径C:\WINDOWS\system32\

即使我正确配置PATH变量,我仍将从C:\WINDOWS\system32\

调用

因为它会覆盖来自C:\Program Files\Java\jdk1.x.x_xx\bin\

的来电

所以如果我跑

,我会得到同样的错误
java -cp jetty-runner-9.2.13.v20150730.jar org.eclipse.jetty.runner.Runner xxx.war

我知道这可能听起来很愚蠢,但我的解决方案是删除C:\WINDOWS\system32\java.exe

在此处阅读更多内容“system32\java.exe” and “Program Files\Java\jdk1.6.0_33\bin\java.exe”

答案 3 :(得分:-1)

properties->Libraries->JRE System Library->Edit->Installed JREs->Edit->JRE home

enter image description here