使用SDKMan安装Quarkus 2.11.1后执行命令报'AggressiveOpts'错误求助
解决Quarkus 2.11.1与Java 17兼容的
AggressiveOpts参数错误 问题根源
AggressiveOpts是OpenJDK旧版的性能优化参数,从Java 9开始被废弃,Java 17中直接被移除。而Quarkus 2.11.1的启动脚本里仍保留这个参数,导致在Java 17环境下执行任何Quarkus命令都会触发JVM启动失败。
可行解决办法
修改Quarkus启动脚本(快速临时修复)
- 定位SDKMan安装的Quarkus 2.11.1目录,路径一般为:
~/.sdkman/candidates/quarkus/2.11.1/bin - 编辑
quarkus(Linux/macOS)或quarkus.bat(Windows)脚本文件 - 查找所有包含
AggressiveOpts的行,删除该参数 - 保存后重新执行
quarkus --version验证
- 定位SDKMan安装的Quarkus 2.11.1目录,路径一般为:
降级Java版本到Quarkus支持的版本
Quarkus 2.11.x官方仅支持Java 8和Java 11,用SDKMan切换到对应版本:# 示例切换到Corretto 11,替换为你已安装的Java 11版本标识 sdk use java 11.0.19-amzn切换完成后,Quarkus命令即可正常运行。
升级Quarkus到支持Java 17的版本
Quarkus从2.13.x版本开始正式支持Java 17,用SDKMan升级到最新稳定版:# 安装并使用Quarkus 2.13.x或更高稳定版 sdk install quarkus 2.13.7.Final sdk use quarkus 2.13.7.Final升级后无需修改任何参数,直接兼容Java 17环境。
内容的提问来源于stack exchange,提问作者Diego Alejandro Gómez Pardo
相关产品推荐
相关产品推荐

