我真的需要帮助。
我试图在新机器上运行我的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中它正在工作答案 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)