运行./sbt.sh遇Unrecognized VM option及Security Manager报错求助
解决sbt启动报错(Java 18 + sbt 1.7.1)
1. 处理Unrecognized VM option 'CMSClassUnloadingEnabled'报错
Java 9及以上版本已移除CMS垃圾收集器,该参数会导致JVM启动失败,按以下步骤修改配置:
- 检查项目目录下的
.sbtopts或project/sbtopts文件,找到包含-J-CMSClassUnloadingEnabled的行,直接删除该行或移除该参数。 - 如果项目中没有上述文件,在用户主目录(
~)下创建.sbtopts文件(Linux/macOS),确保文件中不包含该无效参数。若需要添加适配Java 18的GC参数,可写入:-J-XX:+UseG1GC -J-XX:+ClassUnloadingEnabled
2. 处理Security Manager已弃用的报错
Java 18已完全移除Security Manager,需清理相关配置:
- 同样检查项目的
.sbtopts、project/sbtopts或~/.sbtopts文件,删除所有包含-J-Djava.security.manager的行。 - 打开项目的
build.sbt和project/plugins.sbt文件,查找是否有类似javaOptions += "-Djava.security.manager=..."的配置,如有则删除对应行。
完成以上修改后,重新执行cd creative-scala-template && ./sbt.sh即可正常启动sbt。
内容的提问来源于stack exchange,提问作者Rafael Pinheiro
相关产品推荐
相关产品推荐

