本文主要是介绍【已解决】This absolute uri http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or th,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
调试环境:
maven
eclipse
tomcat
今天调试程序在jsp页面出现以下异常:
org.apache.jasper.JasperException: This absolute uri
网上找了相关资料,最终找到原因,原来是部署项目时jstl jar包没发布到项目的WEB-INF/lib 目录下,导致运行时出现以上错误,当然可复制jstl的jar包到该目录下。
但,我的项目的jstl jar包已经引用了,我查了下maven的pom.xml:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
原因就出现在上面红字部分了,maven的<scope>标签说明如下:
- compile,缺省值,适用于所有阶段,会随着项目一起发布。
- provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。(jar不随项目发布)
- runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
- test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
- system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
看到第2点,就知道真正的原因了,现在只要把pom.xml中定义jstl的provied值删除即可。
参考资料:http://my.oschina.net/boonya/blog/141276
这篇关于【已解决】This absolute uri http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or th的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!