首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行时未识别的VM选项“CMSClassUnloadingEnabled”。/sbt.sh

运行时未识别的VM选项“CMSClassUnloadingEnabled”。/sbt.sh
EN

Stack Overflow用户
提问于 2022-08-27 10:57:05
回答 1查看 168关注 1票数 2

我正试图通过创造性Scala指南来学习Scala。但是,当我试图在终端上运行第12页下面的命令时,会出现一个错误。

现在切换到我们刚刚创建的目录并运行SBT。 cd创作-scala-模板./sbt.sh

我得到的错误是:

代码语言:javascript
运行
复制
Unrecognized VM option 'CMSClassUnloadingEnabled'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

看来问题出在sbt上了?

我试着按照另一个问题中的顶部注释,即转到文件夹/usr/local/etc/sbtopts并进行一些更改,但是我的文件夹/usr/local/是空的。

有人能告诉我我可能做错了什么吗?

通过做java -version,我得到:

代码语言:javascript
运行
复制
openjdk version "18.0.2" 2022-07-19
OpenJDK Runtime Environment (build 18.0.2+9-61)
OpenJDK 64-Bit Server VM (build 18.0.2+9-61, mixed mode, sharing)

sbt -version让我:

代码语言:javascript
运行
复制
sbt version in this project: 1.7.1
sbt script version: 1.7.1

在Tim的解决方案之后,我现在在运行./sbt.sh时得到了一个不同的错误。有人知道怎么解决这个问题吗?

代码语言:javascript
运行
复制
java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
    at java.base/java.lang.System.setSecurityManager(System.java:416)
    at sbt.TrapExit$.installManager(TrapExit.scala:53)
    at sbt.StandardMain$.runManaged(Main.scala:128)
    at sbt.xMain.run(Main.scala:89)
    at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
    at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
    at xsbt.boot.Launch$.run(Launch.scala:109)
    at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
    at xsbt.boot.Launch$.launch(Launch.scala:117)
    at xsbt.boot.Launch$.apply(Launch.scala:18)
    at xsbt.boot.Boot$.runImpl(Boot.scala:56)
    at xsbt.boot.Boot$.main(Boot.scala:18)
    at xsbt.boot.Boot.main(Boot.scala)
Error during sbt execution: java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-27 12:28:53

在本例中,选项是在模板项目中包含的sbt.sh文件本身中定义的。此选项在Java 14及更高版本中被删除,您正在使用的指南是用早期的Java版本开发的。

您可以编辑此文件并从其中删除文本-XX:+CMSClassUnloadingEnabled

到Java 18时,该文件中的所有其他选项仍然被支持。

生成的命令如下所示:

代码语言:javascript
运行
复制
java -Xmx3g -Xms1g -XX:+TieredCompilation -XX:ReservedCodeCacheSize=256m -XX:+UseNUMA -XX:+UseParallelGC -jar sbt-launch.jar "$@"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73510384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档