一、前述
Apache Maven是一个软件项目管理和理解工具。Maven基于项目对象模型(POM)的概念,可以从一个中心信息段管理项目的构建、报告和文档。
二、采坑复盘
1、报错截图
1.1、 在进行 mvn clean install 的时候,如下图报错:
1.2、根据报错找到对应的 pom 文件,找到对应的依赖项
发现是因为下图的依赖在报错
1.3、 全局搜索 javax.servlet:javax.servlet-api: 这个依赖,发现在父级的 pom 文件里,也存在所以 mvn 编译会报错
1.4 、 解决问题
找到了是因为
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3.2</version>
</dependency>
包含了如下依赖:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
所以导致跟父级的冲突,导致编译失败,使用标签 exclusions
来将上述依赖排除在外:
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</exclusion>
</exclusions>
<version>2.3.2</version>
</dependency>
问题解决: