Scala Can';t编译2.2到2.3迁移

Scala Can';t编译2.2到2.3迁移,scala,playframework-2.0,Scala,Playframework 2.0,在过去的几个小时里,我一直在努力解决这个问题,但一点进展都没有。似乎无论我做什么,我总是会犯同样的错误 java.lang.NoClassDefFoundError: play/Project$ 我的身材.sbt name := "appname" version := "1.0-SNAPSHOT" libraryDependencies ++= Seq( jdbc, anorm, cache, filters, "or

在过去的几个小时里,我一直在努力解决这个问题,但一点进展都没有。似乎无论我做什么,我总是会犯同样的错误

java.lang.NoClassDefFoundError: play/Project$
我的身材.sbt

name := "appname"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  jdbc,
  anorm,
  cache,
  filters,
  "org.postgresql" % "postgresql" % "9.3-1100-jdbc4",
  "org.mindrot" % "jbcrypt" % "0.3m",
  "org.webjars" %% "webjars-play" % "2.3.0-2",
  "org.webjars" % "foundation" % "5.3.0",
  "org.scalaj" %% "scalaj-http" % "0.3.16"
)

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.10.4"
object ApplicationBuild extends Build {

 val appName = "appname"
 val appVersion = "1.0-SNAPSHOT"

 val appDependencies ++= Seq(
    jdbc,
    anorm,
    cache,
    filters,
    "org.postgresql" % "postgresql" % "9.3-1100-jdbc4",
    "org.mindrot" % "jbcrypt" % "0.3m",
    "org.webjars" %% "webjars-play" % "2.3.0-2",
    "org.webjars" % "foundation" % "5.3.0",
    "org.scalaj" %% "scalaj-http" % "0.3.16"
  )

 val main = Project(appName, file(".")).enablePlugins(play.PlayScala).settings(
    scalaVersion := "2.10.4",
    version := appVersion,
    libraryDependencies ++= appDependencies
  )
}
我也尝试过这个build.sbt

name := "appname"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  jdbc,
  anorm,
  cache,
  filters,
  "org.postgresql" % "postgresql" % "9.3-1100-jdbc4",
  "org.mindrot" % "jbcrypt" % "0.3m",
  "org.webjars" %% "webjars-play" % "2.3.0-2",
  "org.webjars" % "foundation" % "5.3.0",
  "org.scalaj" %% "scalaj-http" % "0.3.16"
)

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.10.4"
object ApplicationBuild extends Build {

 val appName = "appname"
 val appVersion = "1.0-SNAPSHOT"

 val appDependencies ++= Seq(
    jdbc,
    anorm,
    cache,
    filters,
    "org.postgresql" % "postgresql" % "9.3-1100-jdbc4",
    "org.mindrot" % "jbcrypt" % "0.3m",
    "org.webjars" %% "webjars-play" % "2.3.0-2",
    "org.webjars" % "foundation" % "5.3.0",
    "org.scalaj" %% "scalaj-http" % "0.3.16"
  )

 val main = Project(appName, file(".")).enablePlugins(play.PlayScala).settings(
    scalaVersion := "2.10.4",
    version := appVersion,
    libraryDependencies ++= appDependencies
  )
}
以及不同的调整和修改。总是同样的错误。build.properties设置为
sbt.version=0.13.5

plugins.sbt

logLevel := Level.Debug

// The Typesafe repository
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.4")
在运行Patrick Mahoney的建议并确保删除导入后

错误:
确保您已更新了
project/build.properties
,使其具有sbt版本0.13.5。然后,删除
导入play.Project.\u
,它是不需要的。这应该行得通。

尝试清理编译后的生成项目输出:

rm -rf project/target 


(除了应用詹姆斯的答案)

感谢詹姆斯和帕特里克,但我发现了问题所在。问题出在
/project
目录下的
激活器sbt echo play shim.sbt
文件中

其中包括以下内容:

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.1.1.3")
我使用Activator创建了第二个空白的2.3.4应用程序,其
Activator sbt echo play shim.sbt
列出:

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5")
因此,我将项目中的一个更新为1.5,删除了idea和eclipse.sbts,应用程序终于可以编译了。它自动将上述内容更新为:

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")
现在,我还有其他更值得期待的问题需要解决(比如阿诺姆)。但我现在能够编译它,并让这些错误开始解决它们。我不认为这些文件是activator/sbt编译的一部分,但我猜它们是。我以为它们是用来调试的。但是他们改变了,上面的改变起了作用


再次感谢大家的帮助。

这是我的第一个想法,因为这基本上就是错误所说的。但它不起作用。我在我的代码中搜索了任何其他实例,但没有找到任何实例。相同的错误,删除它没有任何区别。我在
activator sbt echo play shim.sbt
文件中发现了这个问题。尽管我们非常感谢您的输入,但这通常是用于添加注释的类型。我知道当你收集合适的代表时,无法发表评论有点麻烦,但是50代表非常接近,你很快就会看到:)@Julldar事实上,这可能是我问题的答案。我还没试过这个。我确实在某一点上删除了项目/目标(但将其放回),但我从未运行过clean命令。但是,我要到今天下午晚些时候才能尝试。这是有道理的,因为我检查过几次,我删除了对
play.Project.\u
的所有引用。@badatscala我的错,然后,我真的认为这是对James答案的补充,而不是它自己的答案。对不起:谢谢你帮助帕特里克。这也没用。我不知道问题出在哪里。