O uri absoluto: http://java.sun.com/jsp/jstl/core não pode ser resolvido nos arquivos web.xml ou jar implementados com este aplicativo

Eu estou usando o JDK 1.7, Apache Tomcat 7.0.23 e eu coloquei JSTL core library (1.2) e STANDARD jar na pasta WEB_INF lib ele não está me dando qualquer aviso, mas quando vou tentar executar o código

          

isso me dá o seguinte erro:

 org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:410) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117) org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311) org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:152) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1425) org.apache.jasper.compiler.Parser.parse(Parser.java:138) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242) org.apache.jasper.compiler.ParserController.parse(ParserController.java:102) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198) org.apache.jasper.compiler.Compiler.compile(Compiler.java:373) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

Alguém pode me sugerir o erro que estou cometendo?

Remova o arquivo standard.jar . É aparentemente da versão antiga do JSTL 1.0 quando os URIs do TLD estavam sem o caminho /jsp . Com o JSTL 1.2 como disponível aqui, você não precisa de um standard.jar . Apenas o jstl-1.2.jar em /WEB-INF/lib é suficiente.

Veja também:

Eu resolvi o mesmo problema. Acabei de adicionar o JSTL-1.2.jar ao /apache-tomcat-xxx/lib e definir o escopo para fornecido no maven pom.xml:

   jstl jstl 1.2 provided  

O erro em questão também pode ser causado pelo JarScanner desativado no tomcat/conf/context.xml .

Consulte também Atualizar do Tomcat 8.0.39 para 8.0.41 resulta em erros de ‘falha ao verificar’ .

permite evitar os dois problemas.

Eu removi o escopo e usei uma atualização do maven para resolver esse problema.

  javax.servlet jstl 1.2 ****  

O jstl lib não está presente na pasta tomcat lib. Então nós temos que incluí-lo. Não entendo porque nos disseram para manter o escopo de servlet-api e jstl como fornecido.

Certifique-se de não ter pulado todos os flasks

 tomcat.util.scan.StandardJarScanFilter.jarsToSkip 

em Tomcat catalina.properties.

Se você estiver usando eclipse e maven para manipular dependencies, pode ser necessário executar estas etapas extras para garantir que o eclipse copie as dependencies adequadamente. Dependências do Maven não visíveis no WEB-INF / lib (ou seja, o Assembly de Implantação para o aplicativo da web Dinâmico)