我正在尝试使用Lift框架,阅读Lift in Action。我想跟随这些示例,但我立即遇到了安装Lift的问题。我知道有很多方法可以轻松地开始使用Lift,但我想使用Lifty,正如本书所做的那样,能够遵循它。
问题在于,自本书出版以来,Lifty和sbt
(以及Lift也!)都向前推进了。我从Ubuntu的Typesafe存储库安装了sbt
。现在我被困在尝试安装Lifty。
关注Lifty documentation和this answer on SO - 由于Lifty尚未发布sbt
0.11.3的二进制文件 - 我想我应该在~/.sbt/plugins/build.sbt
中添加以下内容:
resolvers += Resolver.url("sbt-plugin-releases", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)
addSbtPlugin("org.lifty" % "lifty" % "1.7.4")
libraryDependencies +=
Defaults.sbtPluginExtra(
"org.lifty" % "lifty" % "1.7.4",
"0.11.2",
"2.9.1"
)
后者是告诉sbt
使用Lifty插件sbt 0.11.2。
现在sbt
似乎能够下载Lifty并正确启动,但我没有lifty
命令。所以当我做的时候
lifty learn lift https://raw.github.com/Lifty/lifty/master/lifty-recipe/lifty.json
sbt
抱怨:
[error] Not a valid key: lifty (similar: history)
[error] lifty learn lift https://raw.github.com/Lifty/lifty/master/lifty-recipe/lifty.json
[error] ^
我应该如何安装Lifty?请注意,我是Scala,sbt和Lift的新手。
修改
我设法通过降级到sbt
0.7.7来安装Lifty。但是如果我做的话
> lift create project-blank
> reload
> update
我收到错误
[error] sbt.ResolveException: unresolved dependency: net.liftweb#lift-webkit_2.9.1;2.3-RC3: not found
[error] unresolved dependency: org.scala-tools.testing#specs_2.9.1;1.6.6: not found
[info] == update ==
[error] Error running update: sbt.ResolveException: unresolved dependency: net.liftweb#lift-webkit_2.9.1;2.3-RC3: not found
[error] unresolved dependency: org.scala-tools.testing#specs_2.9.1;1.6.6: not found
答案 0 :(得分:0)
我讨厌打破它,但是生命已经消失了。在撰写本文时,sbt的稳定性为0.13.0。查看sbt community repo,发布的唯一版本是1.7.4 sbt 0.11.2。
Lift Cookbook是了解如何使用Lift的最新资源。
有一个名为Creating a Lift Project from Scratch Using SBT的部分:
问题
您希望从头开始创建一个Lift Web项目,而不使用官方Lift网站上提供的ZIP文件。
解决方案
您需要自己配置SBT和Lift项目。幸运的是,只需要五个小文件。 首先,在
project/plugins.sbt
创建一个SBT插件文件(所有文件名都是相对于项目根目录给出的):addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "0.3.0")
此文件告诉SBT您将使用xsbt-web-plugin。
接下来,创建一个SBT构建文件build.sbt ...
不幸的是xsbt-web-plugin 0.3.0适用于sbt 0.12。所以你必须要么使用sbt 0.12,要么修改一下指令。 sbt 0.13的最新xsbt-web-plugin为0.4.2,所以在project/plugins.sbt
put:
addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "0.4.2")
resolvers += Resolver.sonatypeRepo("public")
我能够按照页面上的其他说明进行操作...... 最终我把所有东西都拉到了sbt 0.13,并且能够启动容器:
> container:start
[info] Compiling 1 Scala source to /foo/sbt-lift-test/target/scala-2.10/classes...
[info] jetty-8.1.7.v20120910
....
[success] Total time: 2 s, completed Sep 20, 2013 10:34:22 PM
使用浏览器打开http://localhost:8080/
:
欢迎您,您现在有一个正常工作的电梯安装