我试图将Scala play应用程序更新到最新的build和sbt版本,但出现以下错误:
[error] * org.scala-lang.modules:scala-xml_2.12:2.1.0 (early-semver) is selected over {1.2.0, 1.1.1}
[error] +- org.scala-lang:scala-compiler:2.12.18 (depends on 2.1.0)
[error] +- com.typesafe.sbt:sbt-native-packager:1.5.2 (scalaVersion=2.12, sbtVersion=1.0) (depends on 1.1.1)
[error] +- com.typesafe.play:twirl-api_2.12:1.5.1 (depends on 1.2.0)
字符串
这些是我构建的主要组件。sbt
lazy val root = (project in file(".")).enablePlugins(PlayScala)
ThisBuild / scalaVersion := "2.13.11"
libraryDependencies ++= Seq(
caffeine,
guice,
"com.datastax.oss" % "java-driver-core" % "4.15.0",
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.15.2",
"org.scalatestplus.play" %% "scalatestplus-play" % "5.1.0" % Test,
"com.typesafe.scala-logging" %% "scala-logging" % "3.9.5",
"com.google.api-ads" % "ads-lib" % "5.0.0",
"com.google.api-ads" % "dfp-axis" % "5.0.0",
"org.typelevel" %% "cats-core" % "2.9.0",
"com.github.tototoshi" %% "scala-csv" % "1.3.10",
"com.github.pathikrit" %% "better-files" % "3.9.2",
"com.google.cloud" % "google-cloud-storage" % "2.23.0",
"com.google.apis" % "google-api-services-sheets" % "v4-rev20220927-2.0.0",
"com.github.junrar" % "junrar" % "7.5.4",
"com.google.oauth-client" % "google-oauth-client-jetty" % "1.34.1",
"com.google.api-client" % "google-api-client" % "2.2.0",
"com.sendgrid" % "sendgrid-java" % "4.9.3",
"com.google.firebase" % "firebase-admin" % "9.2.0",
"org.elasticsearch.client" % "elasticsearch-rest-client" % "8.8.2"
)
javaOptions in Universal ++= Seq(
"-Dpidfile.path=/dev/null"
// reference a logback config file that has no file appenders
)
excludeDependencies ++= Seq(
ExclusionRule(organization = "commons-logging")
)
型
sbt.版本=1.9.2
plugins.sbt
第一个月
所以,它在sbt.version=1.3.8下工作正常,但是当我从另一个使用不同sbt版本(1.5.2)和播放插件版本(2.8.8)的存储库复制一些代码时,我遇到了以下问题:
[error] java.lang.ClassCastException: org.slf4j.helpers.NOPLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
型
我在我的MacOS MX处理器上运行这个,Java 1.8。
尝试做一些依赖项覆盖,如下所示,但同样的问题:
dependencyOverrides += "org.scala-lang.modules" %% "scala-parser-combinators" % "2.0.0"
型
已尝试为日志问题添加一些日志依赖项:
libraryDependencies ++= Seq(
"ch.qos.logback" % "logback-classic" % "1.2.3",
"org.slf4j" % "slf4j-api" % "1.7.25"
)
型
但都没有用。sbt dependencyTree
也未运行,并因冲突错误而失败
将播放插件降低到2.8.8沿着sbt.version=1.3.8,但无需任何额外的覆盖。
任何帮助在这里是appreicated,谢谢!
1条答案
按热度按时间axkjgtzd1#
它是this issue,建议使用以下解决方法:
字符串
基本上:
build.sbt
的代码和project/
的内容,而不是由sbt编译的 * 您的代码 *)时,scala-xml的此检查失败,但它可以手动静音