我已成功使用sbt-eclipse 3.0.0一段时间了。我最近升级到Play 2.3.8,需要升级到sbt-eclipse 4.0.0以避免this problem。我尝试更新project / plugins.sbt,但在运行activator eclipse
时遇到此错误:
java.lang.NoSuchMethodError: com.typesafe.sbteclipse.core.EclipsePlugin$.EclipseKeys()Lcom/typesafe/sbteclipse/core/EclipsePlugin$EclipseKeys$;
at play.PlayEclipse$class.eclipseCommandSettings(PlayEclipse.scala:93)
at play.Play$.eclipseCommandSettings(Project.scala:17)
at play.PlayScala$.projectSettings(Project.scala:72)
at sbt.Load$$anonfun$autoPluginSettings$1$1.apply(Load.scala:666)
at sbt.Load$$anonfun$autoPluginSettings$1$1.apply(Load.scala:666)
.....
我尝试仅在我的〜/ .sbt / 0.13 / plugins / plugins.sbt中引用4.0.0,然后仅在我的项目/ plugins.sbt中引用,但这似乎没有区别。实际上,当两个引用被删除时,我能够运行3.0.0激活器eclipse。我不知道Activator / sbt在这种情况下如何找到3.0.0插件 - 也许我的错误是由于加载3.0.0和4.0.0?
环境:
Play 2.3.8
Activator 1.3.4
Scala 2.10.4
〜/ .sbt / 0.13 / plugins / plugins.sbt为空
项目/ build.properties:
sbt.version=0.13.8
项目/ plugins.sbt:
// Comment to get more information during initialization
logLevel := Level.Info
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.8")
addSbtPlugin("com.typesafe.sbt" % "sbt-uglify" % "1.0.3")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-uglify" % "1.0.3")
addSbtPlugin("com.typesafe.sbt" % "sbt-gzip" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.6")
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
答案 0 :(得分:4)
我的解决方案是在全局或项目中删除对eclipse的支持,因为play已经为生成eclipse文件提供了内部支持。 事实上,sbt-eclipse的4.0.0版本就是问题所在。
答案 1 :(得分:4)
从以下位置升级您的播放插件版本:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.8")
为:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.6")
这将适用于eclipse插件4.0.0
答案 2 :(得分:0)
我删除了以下
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")
这
~/.sbt/0.13/plugins/plugins.sbt
和
project_root/project/plugins.sbt
这对我有所帮助。