首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法编译2.2到2.3迁移

无法编译2.2到2.3迁移
EN

Stack Overflow用户
提问于 2014-09-29 04:28:33
回答 3查看 961关注 0票数 2

在过去的几个小时里,我一直在和这个做斗争,但是我没有取得任何进展。似乎不管我做什么,我都会犯同样的错误。

代码语言:javascript
复制
java.lang.NoClassDefFoundError: play/Project$

我的build.sbt

代码语言:javascript
复制
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"

我也尝试过这个build.sbt

代码语言:javascript
复制
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

代码语言:javascript
复制
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")

运行帕特里克马霍尼的建议,并确保我删除了进口。

错误:

代码语言:javascript
复制
[error] java.lang.NoClassDefFoundError: play/Project$
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
me@me-desktop:~/Projects/appname$ sbt --version
   sbt launcher version 0.13.6
me@me-desktop:~/Projects/appname$ find . | grep -r "play.Project"
me@me-desktop:~/Projects/appname$ find . | grep -r "play/Project"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-30 16:33:37

多亏了詹姆斯和帕特里克但我发现了问题。问题出在/project目录中的/project文件中。

其中包括以下内容:

代码语言:javascript
复制
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.1.1.3")

我使用Activator创建了第二个空白的2.3.4应用程序,它的activator-sbt-echo-play-shim.sbt列表如下:

代码语言:javascript
复制
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5")

因此,我将我的项目中的一个更新为1.5,并删除了idea和eclipse .sbts以获得良好的度量,最终该应用程序得以编译。它自动更新上述内容如下:

代码语言:javascript
复制
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")

现在我还有其他的,更多的,我需要解决的问题(比如anorm)。但是我现在能够编译它并得到这些错误来开始解决它们。我不认为这些文件是激活器/sbt编译的一部分,但我想是的。我以为它们是用来调试的。但是他们做出了不同的改变,上面的改变起了作用。

再次感谢大家的帮助。

票数 3
EN

Stack Overflow用户

发布于 2014-09-29 13:26:29

尝试清理您的构建项目编译后的输出:

代码语言:javascript
复制
rm -rf project/target 

代码语言:javascript
复制
$> sbt "reload plugins" clean

(除了应用James的答案外)

票数 3
EN

Stack Overflow用户

发布于 2014-09-29 04:56:30

确保您已经更新了project/build.properties,使其具有sbt版本0.13.5。然后,删除import play.Project._,这是不需要的。那应该管用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26092572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档