5

我正在尝试开始使用 Lift 框架,阅读 Lift in Action。我想跟随示例,但我立即遇到了安装 Lift 的问题。我知道有多种方法可以轻松开始使用 Lift,但我想像本书一样使用 Lifty,以便能够遵循它。

问题是,自从这本书出版以来,Lifty 和sbt(还有 Lift!)都在向前发展。我sbt从 Ubuntu 的 Typesafe 存储库安装。现在我一直在尝试安装 Lifty。

遵循Lifty 文档关于 SO 的答案- 由于 Lifty 尚未发布sbt0.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使用 sbt 0.11.2 的 Lifty 插件。

现在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 的新手。

编辑

我设法通过降级到 0.7.7 来安装sbtLifty。但如果我这样做

> 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
4

1 回答 1

0

我不想把它告诉你,但是lifty已经消失了。在撰写本文时,sbt 的稳定版本为 0.13.0。查看sbt community repo,唯一发布的版本是 sbt 0.11.2 的 1.7.4。

官网说:

Lift Cookbook是学习如何使用 Lift的最新资源。

有一个名为使用 SBT 从头开始​​创建电梯项目的部分:

问题

您想在不使用 Lift 官方网站上提供的 ZIP 文件的情况下从头开始创建一个 Lift Web 项目。

解决方案

您需要自己配置 SBT 和 Lift 项目。幸运的是,只需要五个小文件。首先,在以下位置创建一个 SBT 插件文件project/plugins.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

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/使用浏览器打开:

欢迎,您现在有一个可以工作的电梯安装

于 2013-09-21T02:39:02.920 回答