Maven打包Spring项目无法下载surefire-junit-platform依赖怎么解决
解决方案
1. 清理对应依赖的本地缓存
你之前删除的是maven-surefire-plugin插件本身的本地文件,实际报错缺失的是其依赖的surefire-junit-platform组件的pom文件,请删除以下目录后重新构建:
C:\Users\***\.m2\repository\org\apache\maven\surefire\surefire-junit-platform\2.22.2
如果找不到对应目录,直接删除org\apache\maven\surefire整个父目录即可。
2. 配置国内Maven镜像源
浏览器能直接访问中央仓库链接不代表Maven的网络请求可以正常拉取资源,可修改Maven安装目录下conf/settings.xml文件,添加阿里云镜像源加速资源拉取,在<mirrors>节点下新增如下配置:
<mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
修改配置后重新执行mvn clean package -U命令构建即可。
3. 显式声明Surefire插件配置
如果上述操作后仍报错,可在项目pom.xml的<build><plugins>节点下显式指定maven-surefire-plugin的完整配置,强制Maven使用指定版本的组件:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.2</version> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit-platform</artifactId> <version>2.22.2</version> </dependency> </dependencies> </plugin>
临时规避方案
如果赶时间打包,可跳过测试阶段避免调用surefire插件,执行构建命令时添加-DskipTests参数:
mvn clean package -DskipTests
内容的提问来源于stack exchange,提问作者Marvin S.
相关产品推荐
相关产品推荐

