Судо в Терминале, кажется, не принимает ввод пароля [дубликат]

org.apache.jasper.JasperException: Абсолютный uri: http://java.sun.com/jstl/core не может быть разрешен в файле web.xml или jar развернутый с этим приложением

blockquote>

Этот URI для JSTL 1.0, но вы на самом деле используете JSTL 1.2, который использует URI с дополнительным /jsp путем (поскольку JSTL, который изобрел EL-выражения, поскольку версия 1.1 интегрирована как часть JSP для совместного использования / повторного использования EL-логики в простом JSP).

Итак, исправьте URI taglib соответственно:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

Дальше POM также определяет реализацию Apache JSTL 1.1 через taglibs:standard. Это необязательно и даже опасно, если у вас уже есть JSTL 1.2 API + impl, связанный через javax.servlet:jstl , потому что 1.1 и 1.2, очевидно, конфликтуют друг с другом. Только одна из следующих зависимостей JSTL 1.2 должна сделать это, чтобы JSTL был установлен в вашем веб-приложении, ориентированном на Tomcat (не устанавливайте на provided, поскольку Tomcat на самом деле не предоставляет его в поле!):


    javax.servlet
    jstl
    1.2

Пользователи, не являющиеся членами Maven, могут добиться того же, отбросив единственный файл jstl-1.2.jar в папке /WEB-INF/lib проекта веб-приложения (не отбрасывайте standard.jar или любые свободные .tld-файлы там!).

Если вы на самом деле используете обычный Java EE-сервер, такой как WildFly, Payara и т. д. вместо barebones servletcontainer, таких как Tomcat, Jetty и т. д. то вам не нужно явно устанавливать JSTL. Обычные серверы Java EE уже предоставляют JSTL из коробки. Другими словами, вам не нужно добавлять JSTL в pom.xml и не удалять файлы JAR / TLD в webapp. Исключительно достаточно provided координаты Java EE:


    javax
    javaee-api
    
    provided

Далее вы также должны убедиться, что ваш web.xml объявлен как совместимый не менее Servlet 2.4 и, следовательно, не как Сервл 2.3 или старше. В противном случае EL-выражения внутри тегов JSTL, в свою очередь, не сработают. Выберите самую высокую версию, соответствующую вашему целевому контейнеру, и убедитесь, что у вас нет в любом месте вашего web.xml. Вот пример совместимости с сервлетами 4.0 (Tomcat 9):




    


См. Также:

0
задан Community 13 April 2017 в 12:23
поделиться

2 ответа

Когда Вы используете Терминал, и необходимо ввести пароль, он не покажет на экране вообще, это - нормальная практика.

3
ответ дан scouser73 22 October 2019 в 14:44
поделиться

Когда терминал просит Ваш пароль просто вводить ясный без Caps Lock на. Обратите внимание, что пароль совпадает с нашим паролем входа в систему Ubuntu.

1
ответ дан Sathyajith Bhat 22 October 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: