springboot项目可以正常运行,maven打包时报错org.apache.maven.surefire:surefire-junit4:jar:2.18.1

博客指出Spring Boot项目用Maven管理jar包时,默认的pom.xml文件未配置打包所需插件,导致执行测试目标失败,出现无法生成类路径、获取依赖信息等问题。解决办法是打开pom.xml文件,添加打包设置,且build节点需为project的直接子节点。

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project elstest: Unable to generate classpath: org.apache.maven.artifact.resolver.ArtifactResolutionException: Unable to get dependency information for org.apache.maven.surefire:surefire-junit4:jar:2.18.1: Failed to retrieve POM for org.apache.maven.surefire:surefire-junit4:jar:2.18.1: Could not transfer artifact org.apache.maven.surefire:surefire-junit4:pom:2.18.1 from/to central (https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version

 

因为默认建的springboot项目用maven管理jar包的pom.xml文件中没有配置maven打包所需要的插件

org.apache.maven.plugins

解决办法:打开pom.xml文件,添加如下打包的设置

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <skipTests>true</skipTests>
            </configuration>
        </plugin>
    </plugins>
</build>

注意 build节点是project的直接子节点

 

 

### 三级标题:Maven Surefire 插件测试阶段构建失败的解决方案 Maven Surefire Plugin 是用于执行项目单元测试的标准插件,版本 2.12.4 在测试执行过程中因无法从阿里云仓库解析依赖项 `surefire-junit4:2.12.4` 导致构建失败,主要原因是远程仓库中缺失该依赖或网络访问受限。此问题可通过配置正确的仓库地址、手动安装依赖或升级插件版本解决。 在某些情况下,Maven 默认使用的中央仓库或配置的镜像(如阿里云镜像)可能无法提供某些旧版本依赖包。对于 `surefire-plugin` 的依赖问题,可以尝试在 `pom.xml` 中显式声明 `surefire-junit4` 依赖,确保 Maven 能够正确解析并下载该组件。配置示例如下: ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.4</version> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit4</artifactId> <version>2.12.4</version> </dependency> </dependencies> </plugin> ``` 若上述配置仍无法解决依赖问题,建议尝试升级 `maven-surefire-plugin` 至更高版本(如 3.0.0-M5 或以上),以获得更好的兼容性和更稳定的依赖支持。新版插件通常包含对旧版问题的修复和优化,有助于避免因依赖解析失败导致的构建中断。 如果项目必须使用 `2.12.4` 版本且无法通过配置镜像下载依赖,可手动下载 `surefire-junit4-2.12.4.jar` 并使用以下命令安装到本地仓库: ```bash mvn install:install-file -Dfile=surefire-junit4-2.12.4.jar -DgroupId=org.apache.maven.surefire -DartifactId=surefire-junit4 -Dversion=2.12.4 -Dpackaging=jar ``` 此外,确保 `settings.xml` 文件中配置的镜像仓库地址有效,并且网络访问不受限制。阿里云镜像配置示例如下: ```xml <mirrors> <mirror> <id>aliyun</id> <name>Aliyun Maven</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ``` 通过上述配置,可提升依赖下载速度并减少因网络问题导致的构建失败情况。 --- ### 三级标题:相关问题
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值