首页 > 解决方案 > 如何在 Scala 应用程序中修复“接口中的静态方法需要 -target:jvm-1.8”?

问题描述

我写了以下代码:

import software.amazon.awssdk.services.cloudwatchlogs.CloudWatchLogsClient

class Test() extends CloudWatchLogsClient {
  CloudWatchLogsClient.builder().build()
  def close():Unit = {
    println("test")
  }

  def serviceName(): String  = "serviceName"
  CloudWatchLogsClient.create()
}

在编译时,我收到以下错误:

Static methods in interface require -target:jvm-1.8
  CloudWatchLogsClient.builder().build()

最后,我在 build.sbt 文件中使用了以下依赖项

libraryDependencies += "software.amazon.awssdk" % "cloudwatch" % "2.15.40",
libraryDependencies += "software.amazon.awssdk" % "cloudwatchlogs" % "2.15.40"

Java 版本是 1.8,Scala 版本是 2.11.12。任何想法,如何解决这个问题?

标签: scalajava-8sbtamazon-cloudwatch

解决方案


请将以下内容添加到您的build.sbt:

scalacOptions in ThisBuild += "-target:jvm-1.8"

在接口中的静态方法中,Gradle 有一个类似的问题询问相同的错误需要 -target:jvm-1.8 。


推荐阅读