配置Jstl的Maven依赖

北城余情 提交于 2019-12-27 05:47:23

; 开篇吐槽,我去,今天本来打算在Spring MVC中用Maven添加一下JSTL的包,结果搞了一上午也是各种错误:

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

        网上各种解决办法都是版本错误什么的,换个版本的Maven依赖,挂了代理都下不动,手动导了包又报了个ClassNotFound,WEB-INF下的lib也有对应的jar包,后来发现貌似是犯二了,没有导入jstl-impl,又搜了一下,这哥们正确配置Jstl的Maven依赖给了正确的Maven依赖配置:

  1. <dependency>
  2. <groupId>javax.servlet.jsp.jstl</groupId>
  3. <artifactId>jstl-api</artifactId>
  4. <version>1.2</version>
  5. <exclusions>
  6. <exclusion>
  7. <groupId>javax.servlet</groupId>
  8. <artifactId>servlet-api</artifactId>
  9. </exclusion>
  10. <exclusion>
  11. <groupId>javax.servlet.jsp</groupId>
  12. <artifactId>jsp-api</artifactId>
  13. </exclusion>
  14. </exclusions>
  15. </dependency>
  16. <dependency>
  17. <groupId>org.glassfish.web</groupId>
  18. <artifactId>jstl-impl</artifactId>
  19. <version>1.2</version>
  20. <exclusions>
  21. <exclusion>
  22. <groupId>javax.servlet</groupId>
  23. <artifactId>servlet-api</artifactId>
  24. </exclusion>
  25. <exclusion>
  26. <groupId>javax.servlet.jsp</groupId>
  27. <artifactId>jsp-api</artifactId>
  28. </exclusion>
  29. <exclusion>
  30. <groupId>javax.servlet.jsp.jstl</groupId>
  31. <artifactId>jstl-api</artifactId>
  32. </exclusion>
  33. </exclusions>
  34. </dependency>

其实现在看来原因是现有的项目中已经有了对jsp-api和javax.servlet-api的引用,再引入一个JSTL,JSTL也会引入自身一套的jsp-api和javax.servlet-api引用,所以需要在pom.xml中把jstl引用的jsp-api和javax.servlet-api给exclusion掉。


普通的javaee项目无非就需要3个jar包

  1. <dependency>
  2. <groupId>javax.servlet</groupId>
  3. <artifactId>javax.servlet-api</artifactId>
  4. <version>3.0.1</version>
  5. <scope>provided</scope>
  6. </dependency>
  7. <dependency>
  8. <groupId>javax.servlet.jsp</groupId>
  9. <artifactId>jsp-api</artifactId>
  10. <version>2.1</version>
  11. <scope>provided</scope>
  12. </dependency>
  13. <dependency>
  14. <groupId>javax.servlet</groupId>
  15. <artifactId>jstl</artifactId>
  16. <version>1.2</version>
  17. </dependency>

这里面JSTL没有jstl-impl.jar,对运行也没什么影响。。至于网上说的比较多的standard.jar标准标签库在jstl1.2以后的高版本不再需要了。

转载地址:https://blog.csdn.net/qq_29227939/article/details/52063869






    标签
    易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
    该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!