当前位置: 首页 > 知识库问答 >
问题:

尝试使用Play 2.5.3,但SBT在解决依赖关系时冻结

司空瑾瑜
2023-03-14

我正在使用intellij并遵循此文档:

https://www.playframework.com/documentation/2.5.x/Migration25

我更改了插件。sbt如下:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.3")

然后它就卡住了:

[debug]         tried https://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.play/sbt-plugin/scala_2.10/sbt_0.13/2.5.3/ivys/ivy.xml

我检查了这个存储库,没有2.5.3版本。

我做错了什么?

这是我的身材。sbt:

名称:="播放"

版本:="1.0"

lazy val播放(文件中的项目(“.”)。enablePlugins(PlayJava)

ScalaVersion:="2.11.7"

libraryDependencies=Seq(javaJdbc、缓存、javaWs

测试中的非托管源目录

分解器=“scalaz bintray”at”https://dl.bintray.com/scalaz/releases"

这是我的项目/插件。sbt:

logLevel:=级别。信息

解析程序=“类型安全存储库”位于”http://repo.typesafe.com/typesafe/releases/"

addSbtPlugin("com.typesafe.play"%"sbt-plugin"%"2.5.3")

另一个问题:当我更改为2.4.6时,它可以工作,但还有另一个问题,项目刷新失败

java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.typesafe.sbt.web.SbtWeb$$anonfun$com$typesafe$sbt$web$SbtWeb$$load$1.apply(SbtWeb.scala:535)
at com.typesafe.sbt.web.SbtWeb$$anonfun$com$typesafe$sbt$web$SbtWeb$$load$1.apply(SbtWeb.scala:535)
at scala.Option.fold(Option.scala:157)

我的JDK是1.8

共有2个答案

终祯
2023-03-14

首先,确保您的sbt版本是最新的;project/build.properties应该包含:

sbt.version=0.13.11

由于最新的sbt版本包括一些新的解析器;你只需要把播放插件放在project/plugins.sbt

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.3")
米夕
2023-03-14

该错误以某种方式显示,有一个拼写错误的播放版本,就像你添加的,尝试以下plugins.sbt(这是我的sbt,为我工作良好)删除你不想要的插件,并添加你正在使用的,但对于你使用的版本, becarful:

// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.3")

// Web plugins
addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.3")
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.1.0")
addSbtPlugin("org.irundaia.sbt" % "sbt-sassify" % "1.4.2")

// Play enhancer - this automatically generates getters/setters for public fields
// and rewrites accessors of these fields to use the getters/setters. Remove this
// plugin if you prefer not to have this feature, or disable on a per project
// basis using disablePlugins(PlayEnhancer) in your build.sbt
addSbtPlugin("com.typesafe.sbt" % "sbt-play-enhancer" % "1.1.0")

// Play Ebean support, to enable, uncomment this line, and enable in your build.sbt using
// enablePlugins(PlayEbean). Note, uncommenting this line will automatically bring in
// Play enhancer, regardless of whether the line above is commented out or not.
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.1")


// Not necessary but useful for development
// https://github.com/jamesward/play-auto-refresh
//addSbtPlugin("com.jamesward" % "play-auto-refresh" % "0.0.14")

您可以从以下位置验证版本:http://mvnrepository.com/artifact/com.typesafe.play

由于您使用2.5. x验证2_11下的版本而不是2_10,如play_2.11play_2.10,所以检查您的插件,使用scala 2.11而不是2.10,这可能使2.4.3工作,而不是2.5. x。

 类似资料:
  • 我试图构建一个具有spark依赖关系的非常基本的scala脚本。但我不能用它做罐子。 我的scala源代码在: /exampleapp/main/scala/example/hello.scala 项目名为exampleapp。

  • 试图遵循O'Reilly的“编程Scala”一书中的示例。下载并安装sbt,使用:brew install sbt@1似乎已成功。然后在命令行输入“sbt”或“sbt-v”(在Mac上bash)后,我会得到: 格伦

  • 我在Mac 10.7.5上使用Ant 1.9,我刚刚安装了Ivy。我在下载依赖项时遇到了问题。我有这个build.xml文件和我的Ivy解析目标。 那么我有这棵常春藤。xml文件与我的构建版本处于同一级别。xml文件: 但是当我运行我的蚂蚁目标时,一切都悬而未决 为了解决依赖关系并启动我的目标,我还缺少什么?

  • 我想下载使用ivy的工件:解决,但使用使用[conf]属性的模式。所以我在IvyS中定义了以下内容ettings.xml 注意这个模式 现在可以很好地解决依赖关系,但只为配置创建了一个文件夹:默认。没有为ConfGroup1创建文件夹 另外,我知道这可以通过使用ivy:retrieve实现,但我不想使用它,因为它将涉及将工件从ivy缓存复制到ivy:resolve之后的另一个地方,我有价值数十亿字

  • 我对ivy没有解析我的一些依赖关系有问题。以下是我如何重现这个问题的: 我在eclipse中有一个空的java项目。我已经在我的项目中添加了ivy.xml: 这工作正常,ivy能够解决和下载口水。 如果我将修订版更改为6.3.0.Final(http://mvnrepository.com/artifact/org.drools/drools-core/6.3.0.Final),它将不起作用,我看