Windows环境Java17+Maven3.8.3安装IRI执行mvn package报错求助
问题原因
你遇到的maven-surefire-plugin报错核心是版本兼容性问题:
- IRI(IOTA旧版参考实现)的代码、依赖的jacoco 0.7.9覆盖率工具、2.21.0版本的surefire测试插件均不支持Java 17运行环境,执行测试阶段时触发JVM崩溃导致构建失败。
- 之前
mvn clean compile能成功是因为编译阶段不会触发测试插件和覆盖率工具的运行。
解决方案
方案1:跳过测试快速打包
如果不需要执行项目自带的测试用例,只需要获取打包后的可执行文件,直接运行以下命令即可:
mvn package -DskipTests
该命令会跳过测试阶段,直接基于已编译成功的代码完成打包流程。
方案2:兼容环境完整构建
如果需要正常运行测试用例完成全流程构建,请按以下步骤操作:
- 替换Java版本:卸载当前Java 17,安装Java 8或Java 11,配置好对应
JAVA_HOME环境变量,运行java -version确认版本切换成功 - 清理历史构建缓存:执行
mvn clean删除之前的构建产物 - 重新执行打包:运行
mvn package即可正常完成测试、打包全流程
注意事项
IRI是IOTA已停止维护的旧版节点实现,若你正在进行新的IOTA相关开发,建议优先使用官方当前维护的新版节点实现。
内容的提问来源于stack exchange,提问作者Mona
相关产品推荐
相关产品推荐

