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。
AutoGLM-Phone-9BAutoGLM-Phone-9B是基于AutoGLM构建的移动智能助手框架,依托多模态感知理解手机屏幕并执行自动化操作。Jinja00
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
GLM-4.6V-FP8GLM-4.6V-FP8是GLM-V系列开源模型,支持128K上下文窗口,融合原生多模态函数调用能力,实现从视觉感知到执行的闭环。具备文档理解、图文生成、前端重构等功能,适用于云集群与本地部署,在同类参数规模中视觉理解性能领先。Jinja00
HunyuanOCRHunyuanOCR 是基于混元原生多模态架构打造的领先端到端 OCR 专家级视觉语言模型。它采用仅 10 亿参数的轻量化设计,在业界多项基准测试中取得了当前最佳性能。该模型不仅精通复杂多语言文档解析,还在文本检测与识别、开放域信息抽取、视频字幕提取及图片翻译等实际应用场景中表现卓越。00
GLM-ASR-Nano-2512GLM-ASR-Nano-2512 是一款稳健的开源语音识别模型,参数规模为 15 亿。该模型专为应对真实场景的复杂性而设计,在保持紧凑体量的同时,多项基准测试表现优于 OpenAI Whisper V3。Python00
GLM-TTSGLM-TTS 是一款基于大语言模型的高质量文本转语音(TTS)合成系统,支持零样本语音克隆和流式推理。该系统采用两阶段架构,结合了用于语音 token 生成的大语言模型(LLM)和用于波形合成的流匹配(Flow Matching)模型。 通过引入多奖励强化学习框架,GLM-TTS 显著提升了合成语音的表现力,相比传统 TTS 系统实现了更自然的情感控制。Python00
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00