Jak naprawić „statyczne metody w interfejsie wymagają -target: jvm-1.8” w aplikacji Scala?

Dec 08 2020

Napisałem następujący kod:

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

Jeśli chodzi o kompilację, wyskakuje mi następujący błąd:

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

Na koniec użyłem następujących zależności w moim pliku build.sbt

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

Wersja Java to 1.8, a wersja Scala to 2.11.12. Masz jakiś pomysł, jak to naprawić, proszę?

Odpowiedzi

3 TomerShetah Dec 08 2020 at 20:25

Dodaj następujące informacje do swojego build.sbt:

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

Jest podobne pytanie z pytaniem o ten sam błąd w Gradle w Metody statyczne w interfejsie wymagają -target: jvm-1.8 .