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答案的补充,而不是它自己的答案。对不起:谢谢你帮助帕特里克。这也没用。我不知道问题出在哪里。