The Lift Web Framework 使用与技术文档
1. 安装指南
系统要求
Lift 3.0 及以上版本需要运行在 Java 8 或更高版本的环境中。如果您使用的是 Java 6 或 Java 7,您需要使用 Lift 2.6 版本。
使用 sbt 创建新项目
若您使用的是较新版本的 sbt(如 0.13.16),可以通过 Giter8 模板创建一个新的 Lift 应用程序。
- 创建一个包含示例代码的基本 Lift 应用程序:
sbt new lift/basic-app.g8
- 或者创建一个全新的空白应用程序:
sbt new lift/blank-app.g8
按照提示完成 Lift 应用的创建。
运行服务器
进入应用文件夹后,在 sbt 中运行以下命令启动服务器:
jetty:start
默认情况下,服务器将在 http://localhost:8080
上运行。此命令会在您更改 HTML、资源或 Scala 代码时自动重新编译并重启应用。
如果您主要关注前端开发,可能会发现每次更改 CSS 或 HTML 时都重新编译和重启应用不太高效。在这种情况下,可以使用以下命令:
jetty:quickstart
start
和 quickstart
之间的区别在于,start
命令从目标目录(包含展开的 WAR 文件)中提供资产,而 quickstart
命令则从源目录中直接提供资产。
请注意,quickstart
命令前没有前导波浪线 ~
。这是为了防止在资源更改时触发编译。更改的资源将直接提供。请注意,在此模式下,Scala 代码必须手动编译。
在现有项目中使用 sbt
如果您在现有的 sbt 项目中使用 Lift,需要执行以下步骤:
- 添加 xsbt-web-plugin(如果您尚未拥有它或其他启动 Servlet 应用的方法)。
- 添加 Lift 依赖。
将 xsbt-web-plugin 的最新版本下载到 project/
文件夹中。然后在 build.sbt
文件中启用插件,例如激活 JettyPlugin:
enablePlugins(JettyPlugin)
更多关于插件的使用信息,请参考 xsbt-web-plugin 项目。
之后,您需要将 Lift 和 Logback 添加到 libraryDependencies
中:
libraryDependencies ++= {
val liftVersion = "3.3.0"
Seq(
"net.liftweb" %% "lift-webkit" % liftVersion % "compile",
"ch.qos.logback" % "logback-classic" % "1.2.3"
)
}
使用 Maven
在 pom.xml
文件中添加 Lift 依赖:
<dependency>
<groupId>net.liftweb</groupId>
<artifactId>lift-webkit_${scala.version}</artifactId>
<version>3.3.0</version>
</dependency>
其中 ${scala.version}
为 2.11
或 2.12
。Scala 编译器的各个补丁版本(例如 2.12.2)与其发布系列中的所有内容都是二进制兼容的,因此您只需要前两个版本部分。
有关 Maven 集成的更多信息,请参考 项目 Wiki。
2. 项目使用说明
请参考项目的 README 文件,了解 Lift 框架的基本信息、特色以及如何创建新项目。同时,您可以通过运行不同的命令来启动服务器,并根据需要选择不同的运行模式。
3. 项目 API 使用文档
Lift 框架的 API 文档可以在 Lift 官网上找到。您可以通过访问 Lift 官网首页或直接导航到特定版本的 URL 来查看基于源代码的文档。
例如,Lift 3.2 版本的 API 可以在以下地址访问:http://liftweb.net/api/32/api/。
4. 项目安装方式
项目的安装方式已在上述 "安装指南" 部分进行了详细说明。您可以通过 sbt 或 Maven 添加 Lift 依赖,并按照相应的步骤创建新项目或在现有项目中集成 Lift。
- 国产编程语言蓝皮书《国产编程语言蓝皮书》-编委会工作区011
- nuttxApache NuttX is a mature, real-time embedded operating system (RTOS).C00
- 每日精选项目🔥🔥 01.09日推荐:inkonchain/node:用于启动link node的docker compose 脚本🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~022
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie043
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython05
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0106
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML012