用網上各種方法嘗試了半天,最後找到這個解決方案,成功解決了nojdk的500錯誤,再次感謝作者!
原文地址:http://loyqqq.blog.51cto.com/2519525/1073178
當用命令行啓動jetty服務器後,在我們訪問jsp頁面時候如果出現此類錯誤:
jetty7是org.apache.jasper.JasperException: java.err.nojdk...
jetty8是There is an error in invoking javac. A full JDK (not just JRE) is required...
請用以下方法解決:
在jetty文件夾下的start.ini文件裏有這麼一行"-Dorg.apache.jasper.compiler.disablejsr199=true"註釋,把這個註釋去掉,再啓動就不會出現錯誤了。
這個錯誤用eclipse啓動jetty時不會出現,而用命令行啓動時會出現,這個問題應該算apache的jsp引擎的一個bug。在jsp引擎中,如果java版本大於等於1.6.0,則默認會使用JDK自帶的java編譯器,這個編譯器位於JDK中,在JRE中是沒有的。但是如果使用JRE啓動Jetty,就會報上面的錯誤。