Quarkus添加kubernetes/jib扩展报Mirror.isBlocked()Z错误如何解决
错误原因
该报错是Maven版本与Quarkus Maven插件版本API不兼容导致的:org.apache.maven.settings.Mirror.isBlocked() 方法是Maven 3.8.1版本才正式加入的API,你使用的io.quarkus.platform:quarkus-maven-plugin:2.2.1.Final默认依赖Maven 3.8+的核心API,而你本地环境安装的Maven版本低于3.8.1,插件运行时找不到对应方法就会抛出该类NoSuchMethodError异常。
解决方案
- 方案1:升级本地Maven版本
将本地安装的Maven升级到3.8.1及以上的稳定版本,升级完成后执行mvn -v验证版本号匹配要求后,重新执行原扩展添加命令即可。
注意:Maven 3.8.1默认会拦截不安全的HTTP镜像源,如果升级后出现镜像访问报错,可以在本地settings.xml对应的镜像配置项中添加<blocked>false</blocked>关闭拦截规则,不会影响你已配置的quarkus.kubernetes.image-pull-policy=Never参数。 - 方案2:使用项目内置Maven Wrapper执行命令
如果不想修改本地全局Maven版本,可以直接使用Quarkus项目初始化时默认生成的Maven Wrapper执行命令,Wrapper内置的Maven版本与Quarkus插件版本完全兼容:
Linux/macOS环境执行:./mvnw quarkus:add-extension -Dextensions=kubernetes,jib -X
Windows环境执行:mvnw.cmd quarkus:add-extension -Dextensions=kubernetes,jib -X
内容的提问来源于stack exchange,提问作者robyp7
相关产品推荐
相关产品推荐

