使用maven为web工程引入jstl包时报错
来源:互联网 发布:奚梦瑶 知乎 编辑:程序博客网 时间:2024/06/05 09:54
1今天在学习网上一个使用maven搭建web项目时遇到一个问题:在pom文件添加jstl包时发现错误
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl --><dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version></dependency>
错误如下:
Missing artifact javax.servlet.jsp.jstl:jstl:jar:1.2
The container ‘Maven Dependencies‘ references non existing library ‘C:\Users\admin\.m2\repository\javax\servlet\jsp\jstl\jstl\1.2\jstl-1.2.jar‘
看第一个提示没看出理由,看第二个知道是jar包冲突,检查项目后未发现jar包有问题,通过网上资料查阅后发现问题是在tomcat中已有jsp-api和servlet-api,但maven下载jstl时也会把它所依赖的这两个包下载下来,所以就有了包冲突,因此在maven的pom.xml中需要排除这两个包的下载
2
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jstl-impl</artifactId>
<version>1.2</version>
</dependency>
<dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> </exclusion> </exclusions></dependency><dependency> <groupId>org.glassfish.web</groupId> <artifactId>jstl-impl</artifactId> <version>1.2</version> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> </exclusion> <exclusion> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> </exclusion> </exclusions></dependency>
3
顺便说一下jstl-impl-1.2.jar 和taglibs-standard-impl-1.2.1.jar 的区别,这两个包的内容很相似,后者应该是前者的一个再打包,因为Apache的taglibs工程从2009年以后一直处于停止状态。
如果你要引人后者,那么依赖应该为:
<dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-spec</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-impl</artifactId> <version>1.2.1</version> </dependency>
顺便提一下:你知道web.xml配置中的url-pattern的'/'和'/*'的区别吗?
哎,基本功不扎实,这个问题折腾了好久。'/'表示该项目的所有请求路径;'/*'表示只能有一级子路径,它匹配'/a.jsp'但是不匹配'/jsp/a.jsp'。
码农的路上学习是无止境的!努力!
原文链接:http://www.javacoder.cn/?p=195:http://www.mamicode.com/info-detail-1997257.html
:http://www.cnblogs.com/yolanda-lee/p/5133339.html
- 使用maven为web工程引入jstl包时报错
- 创建Maven工程转web工程,使用tomcat启动时,Maven dependency引入的jar包无效问题
- maven引入jstl的jar包形式
- 使用springAOP时没有引入aopalliance包时报的错
- eclipse中导入Maven工程,包引入路径报错
- Maven工程引入JSON依赖JAR包
- maven工程中如何引入jstl标签库的支持
- maven工程引入jstl,且出现uri异常的解决
- 在Maven工程中引入JSTL标签库
- Maven-创建Web工程,引入struts
- 非web项目,maven工程整合spring+mabits,并打包为可运行jar包
- 引入maven工程
- maven web 工程生成war包
- 使用maven建立WEB工程
- 使用maven建立WEB工程
- 使用maven创建web工程
- 使用Maven创建Web工程
- 使用Maven创建Web工程
- eclipse开发常用快捷键
- Java根据UA判断手机,平板,PC登录
- 什么是SYN Flood攻击?
- linux进程
- 一维数组
- 使用maven为web工程引入jstl包时报错
- 大话keepalive
- tesseract-ocr+VS2015配置问题
- C#的配置文件App.config使用总结
- SpringMVC 设置produces决定返回的数据格式
- CP2102介绍
- java获取map中值最小的
- (分治算法)两个有序数组中的中位数和Top K问题
- 渐进式框架 Vue.js 基础入门及简单编程演示