Wie behebt man "statische Methoden in der Schnittstelle erfordern -target: jvm-1.8" in der Scala-Anwendung?

Dec 08 2020

Ich habe folgenden Code geschrieben:

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()
}

Beim Kompilieren wird folgende Fehlermeldung angezeigt:

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

Schließlich habe ich die folgenden Abhängigkeiten in meiner build.sbt-Datei verwendet

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

Die Java-Version ist 1.8 und die Scala-Version ist 2.11.12. Irgendeine Idee, wie man das bitte behebt?

Antworten

3 TomerShetah Dec 08 2020 at 20:25

Bitte fügen Sie Folgendes hinzu build.sbt:

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

Es gibt eine ähnliche Frage zu demselben Fehler bei Gradle bei statischen Methoden in der Schnittstelle erfordern -target: jvm-1.8 .