Как исправить недостающий тип параметра для foreach () в scala - PullRequest
0 голосов
/ 06 февраля 2020

Ниже приведен мой scala 11.12 код

val res= Config().getConfig(source_fields.toLowerCase).entrySet()
    println("Entry set is:"+ res.toString)
    val pattern = Pattern.compile("^[$].*$")
    println("Regex pattern is: "+pattern)
    var query=""
    res.forEach(elem => {
      val matcher = pattern.matcher(elem.getValue.render().replace("\"", ""))
      query += "," + (if (matcher.matches()) "'" + matcher.group().replace("$", "") + "'" + " as " + elem.getKey.replace("\"", "`")
      else elem.getValue.render().replace("\"", "") + " as " + elem.getKey.replace("\"", "`")
        )
    }
    )

screen shot

Это успешно строится, если я добавлю SDK-2.12. Но мой кластер настроен с scala 2.11, и он терпит неудачу там с ошибкой - Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object. Есть идеи как это исправить?

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Такое исключение указывает на несоответствие версий scala, либо вы смешиваете scala версии зависимостей, либо ваша версия scala между средой компиляции и средой выполнения отличается.

Так что если вы создаете ваша программа с scala 2.12 и попытайтесь запустить ее с помощью scala 2.11, вы, скорее всего, получите это исключение

0 голосов
/ 24 февраля 2020

Я исправил это, используя res.as Scala .foreach

...