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.

Другие вопросы по тегам