IntelliJ IDEA添加Maven依赖时出现Tag mismatch错误求助
Maven依赖解析错误:Tag mismatch与未解析依赖问题
问题详情
使用IntelliJ IDEA内置Maven管理依赖时,反复出现以下问题:
- 无法从中央仓库传输
org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.100构件,提示Tag mismatch - 存在未解析依赖:
org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.100
POM代码
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.kanish.</groupId> <artifactId>SpringBootWeb1</artifactId> <version>0.0.1-SNAPSHOT</version> <name>SpringBootWeb1</name> <description>Demo project for Spring Boot web</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>3.2.4</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper</artifactId> <version>10.1.19</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
错误日志
Unresolved dependency: 'org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.100'
环境信息
IntelliJ IDEA 2024.1 (Community Edition) Build #IC-241.14494.240, built on March 28, 2024 Runtime version: 17.0.10+8-b1207.12 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11.0 GC: G1 Young Generation, G1 Old Generation Memory: 2048M Cores: 4 Registry: ide.experimental.ui=true Non-Bundled Plugins: idea.plugin.protoeditor (241.14494.150) Kotlin: 241.14494.240-IJ Windows 11
解决方案
1. 修复版本冲突
Spring Boot 3.2.4默认依赖Tomcat 10.1.x系列,但错误中出现的是Tomcat 8.5.100,属于跨版本冲突,根源是手动添加的tomcat-jasper依赖与Spring Boot内置Tomcat依赖不兼容。
- 移除手动添加的
tomcat-jasper依赖:spring-boot-starter-web已包含Tomcat核心依赖,无需单独指定。 - 若需JSP支持,改用Spring Boot官方适配的依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency>
2. 清理本地Maven缓存
Tag mismatch通常是本地仓库缓存文件损坏导致:
- 找到本地Maven仓库路径下的
org/apache/tomcat/embed/tomcat-embed-core/8.5.100目录,删除整个文件夹 - 在IDEA中执行:
Maven -> Clean→Maven -> Install,或右键项目选择Reload All Maven Projects
3. 检查Maven配置
- 确认IDEA使用的Maven配置正确:打开
File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven,核对Maven安装目录和settings.xml路径 - 若中央仓库访问不稳定,可在
settings.xml中配置国内镜像:
<mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>
4. 强制更新依赖
执行Maven命令强制更新快照和依赖:
mvn clean install -U
或在IDEA的Maven面板中,点击Reload All Maven Projects按钮。
内容的提问来源于stack exchange,提问作者Kanish S
相关产品推荐
相关产品推荐

