Intellij Idea 在build中出错.sbt PlayScala在播放框架i scala

iih3973s  于 2023-04-19  发布在  Scala
关注(0)|答案(1)|浏览(108)

这是我的build.sbt文件,我得到了关于“PlayScala”无法解决addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.19")的错误,这已经添加到plugin.sbt中,版本中没有问题

lazy val root = (project in file("."))
  .enablePlugins(PlayScala)
  .settings(
    name := """play-scala-hello-world-tutorial""",
    organization := "com.example",
    version := "1.0-SNAPSHOT",
    scalaVersion := "2.13.10",
    libraryDependencies ++= Seq(
      "com.google.inject" % "guice" % "5.1.1",
      "org.scalatestplus.play" %% "scalatestplus-play" % "5.1.0" % Test
    ),
    scalacOptions ++= Seq(
      "-feature",
      "-deprecation",
      "-xfatal-warnings"
    )
  )
v1uwarro

v1uwarro1#

  • 创建新Play项目的最佳方法是
sbt new playframework/play-scala-seed.g8

https://www.playframework.com/getting-started

  • 你的项目的sbt版本是什么?看看project/build.properties

使用sbt 1.7.2-
如果您使用的是sbt 1.7.3+(1.8.x),则应将以下内容添加到project/plugins.sbt

ThisBuild / libraryDependencySchemes ++= Seq(
  "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always
)

https://github.com/playframework/playframework/issues/11522

  • 你从哪里得到的guice 5.1.1?Mvnrepository知道5.1.0-

https://mvnrepository.com/artifact/com.google.inject/guice
5.1.1快照

resolvers ++= Resolver.sonatypeOssRepos("snapshots"),
libraryDependencies ++= Seq(
  "com.google.inject" % "guice" % "5.1.1-SNAPSHOT",
  ...

https://oss.sonatype.org/content/repositories/snapshots/com/google/inject/guice/
https://oss.sonatype.org/content/groups/public/com/google/inject/guice/

  • 你的Java是什么?

JDK 8是默认值。从Play 2.8.x开始支持JDK 11
https://www.playframework.com/documentation/2.8.19/Highlights28#Java-11-support
在JDK 17中,需要进行一些调整
如果您使用的是Guice,则必须使用最新版本...
https://github.com/playframework/playframework/releases/2.8.15
但是你已经在使用最新的(甚至更新鲜的)Guice了,所以这应该没问题。

  • 有时Play和sbt版本之间可能存在不兼容性

NoSuchMethodError with Play scala.tools.nsc.Settings.bootclasspath()
(but这是在运行时,而不是构建时)。

相关问题