Jetty Runner, Servlet Filter и org.apache.jasper.JasperException: PWC6345
Я в отчаянии. Я прочитал все темы об этой проблеме здесь, и это не помогает. Я написал простое приложение и попытался запустить его с помощью Jetty Runner. Хорошо работает на моей локальной машине. Но после этого я попытался добавить фильтр сервлетов (потому что у Jetty есть проблемы с сервлетами в welcome-file-list). Теперь он печатает мне:
org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required
Мой JDK и JAVA_HOME в порядке. Я использую jdk1.8.0_25.
Я читал о:
<Call class="java.lang.System" name="setProperty">
<Arg>org.apache.jasper.compiler.disablejsr199</Arg>
<Arg>true</Arg>
</Call>
или же
-Dorg.apache.jasper.compiler.disablejsr199=true
Я получил эту проблему с этим:
org.apache.jasper.JasperException: PWC6349: Cannot find a java compiler for compilation. If running with JDK 5 or before, Ant or JDT compiler can be used, if the corresponding jars and bridge classes (org.apache.jasper.compiler.AntJavaCompiler or org.apache.jasper.compiler.JDTJavaCompiler) are included
Я использую IDEA, Maven и.sh-файл для запуска Jetty.
java -jar target/dependency/jetty-runner.jar target/*.war
Странно то, что я пытался развернуть это приложение с фильтром сервлетов на Heroku, и оно работает ХОРОШО.
Не могли бы вы помочь мне, пожалуйста, с этой проблемой?
1 ответ
Установите для -Dorg.apache.jasper.compiler.disablejsr199 значение false и убедитесь, что вы указали путь jdk, то есть ваш путь должен выглядеть как "C:\Program Files\Java\jdk1.7.0_67\bin", а не C: \ Program Files \ Java \ JRE \ Bin.