所以我正在安装CMAK(Apache Kafka的集群管理器),当我运行命令时
sbt clean dist
在终端,我收到这个错误
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:425)
at sbt.TrapExit$.installManager(TrapExit.scala:53)
at sbt.StandardMain$.runManaged(Main.scala:127)
at sbt.xMain$.run(Main.scala:67)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at sbt.internal.XMainConfiguration.run(XMainConfiguration.scala:45)
at sbt.xMain.run(Main.scala:39)
at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)
at xsbt.boot.Launch$.run(Launch.scala:149)
at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)
at xsbt.boot.Launch$.launch(Launch.scala:159)
at xsbt.boot.Launch$.apply(Launch.scala:44)
at xsbt.boot.Launch$.apply(Launch.scala:21)
at xsbt.boot.Boot$.runImpl(Boot.scala:78)
at xsbt.boot.Boot$.run(Boot.scala:73)
at xsbt.boot.Boot$.main(Boot.scala:21)
at xsbt.boot.Boot.main(Boot.scala)
[error] [launcher] error during sbt launcher: java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
所以我整个早上都在试图解决这个问题,但仍然不明白这里到底发生了什么。我的当前依赖项版本:
JDK: 19
JRE: 1.8.0_202
SBT: 1.8.2
救救我!
1条答案
按热度按时间c3frrgcw1#
您似乎正在使用Java 19而不是Java 8 JRE运行。(Java 8不会出现此错误。
SBT中
SecurityManager
的弃用警告已作为SBT问题提出;参见https://github.com/sbt/sbt/issues/6558。但这是针对Java 17的。在Java 18+中,Java运行时不只是给出一个弃用警告。
SecurityManager
类现在已更改为非功能性;见https://openjdk.org/jeps/411...在那里它谈到了Java 18及更高版本的计划。因此,SBT 1.8.2及更早版本无法在Java 18及更高版本上运行。
您的选项包括:
SecurityManager
的依赖性显然被移除。(上述问题已解决,已关闭。)作为一般规则,我建议人们坚持使用LTS Java版本;即8、11和17(以及当它到达时的21)。非LTS版本将在6个月后下线,第三方软件供应商往往不会立即支持它们(如果有的话)。例如,SBT文档推荐Java 8、11或17。