WEB开发网
开发学院软件开发Java 结合使用 Apache Geronimo 和 Lift:用 Lift 创建... 阅读

结合使用 Apache Geronimo 和 Lift:用 Lift 创建 Web 应用程序并部署到 Geronimo

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: Java Web 程序员有许多可供选择的 Web 框架,一些人甚至认为现在的 Web 框架太多了,结合使用 Apache Geronimo 和 Lift:用 Lift 创建 Web 应用程序并部署到 Geronimo(2),让人无所适从,那么,在开始使用 Maven 之前,一定要设置 SCALA

Java Web 程序员有许多可供选择的 Web 框架。一些人甚至认为现在的 Web 框架太多了,让人无所适从。那么,在众多的 Web 框架中,Lift 处于什么位置呢?Lift 是用 Scala 编写的,而不是 Java。尽管 Scala 编译为 Java 字节码,但是与在 JVM 上运行的许多动态语言不同,它并不是某种包装器代码。Scala 是一种静态类型语言,作为快速的 “原生” Java 运行。这应该不令人吃惊,因为 Scala 的创建者曾经编写过 Java 编译器。因此,Scala 是一种表达能力比 Java 强得多的语言,但是它在 JVM 上运行,运行速度与 Java 一样快。这些性质使它非常适合实现 Web 框架 —— 这种强大的语言使我们编写的代码更少,同时保持出色的性能。

Scala 是非常出色的,那么 Lift 呢?Lift 充分利用了 Scala 的优点。它可以在任何 Java Web 容器中运行,因为它使用标准的 Java servlet 和 servlet 过滤器。Lift 的片段和模型充分利用了灵活的 Scala 语法。通过使用 Scala 的基于 actor 的并发系统,Lift 还能够出色地执行 Comet 风格的 Ajax。您不相信吗?我们来看看用 Lift 创建 Web 应用程序是多么容易。

创建 Lift 应用程序

任何 Web 应用程序框架首先需要下载,对吗?Lift 就不是这样。Lift 使用 Maven 完成所有工作,而且初始设置没有差异。但是,在开始使用 Maven 之前,一定要设置 SCALA_HOME 环境变量。然后执行以下命令。


清单 1. 创建新的 Lift 应用程序
$ mvn archetype:generate -U -DarchetypeGroupId=net.liftweb 
-DarchetypeArtifactId=lift-archetype-basic -DarchetypeVersion=0.8 
-DremoteRepositories=http://scala-tools.org/repo-releases 
-DgroupId=org.developerworks.lift -DartifactId=quepasa 
[INFO] Scanning for projects... 
[INFO] Searching repository for plugin with prefix: 'archetype'. 
[INFO] org.apache.maven.plugins: checking for updates from central 
[INFO] org.codehaus.mojo: checking for updates from central 
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for 
updates from central 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Maven Default Project 
[INFO]  task-segment: [archetype:generate] (aggregator-style) 
[INFO] ------------------------------------------------------------------------ 
[INFO] Preparing archetype:generate 
[INFO] No goals needed for project - skipping 
[INFO] Setting property: classpath.resource.loader.class => 
'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'. 
[INFO] Setting property: velocimacro.messages.on => 'false'. 
[INFO] Setting property: resource.loader => 'classpath'. 
[INFO] Setting property: resource.manager.logwhenfound => 'false'. 
[INFO] [archetype:generate] 
[INFO] Generating project in Interactive mode 
[INFO] Archetype repository missing. Using the one from 
 [net.liftweb:lift-archetype-basic:0.6 -> http://scala-tools.org/repo-releases] 
 found in catalog internal 
Define value for version: 1.0-SNAPSHOT: : 0.1 
Confirm properties configuration: 
groupId: org.developerworks.lift 
artifactId: quepasa 
version: 0.1 
package: org.developerworks.lift 
 Y: : y 
[INFO] ---------------------------------------------------------------------------- 
[INFO] Using following parameters for creating OldArchetype: lift-archetype-basic:0.8 
[INFO] ---------------------------------------------------------------------------- 
[INFO] Parameter: groupId, Value: org.developerworks.lift 
[INFO] Parameter: packageName, Value: org.developerworks.lift 
[INFO] Parameter: basedir, Value: /Users/michael/code/lift 
[INFO] Parameter: package, Value: org.developerworks.lift 
[INFO] Parameter: version, Value: 0.1 
[INFO] Parameter: artifactId, Value: quepasa 
[INFO] ********************* End of debug info from resources from generated POM 
*********************** 
[INFO] OldArchetype created in dir: /Users/michael/code/lift/quepasa 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESSFUL 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 8 seconds 
[INFO] Finished at: Wed May 21 21:49:56 PDT 2008 
[INFO] Final Memory: 8M/14M 
[INFO] ------------------------------------------------------------------------ 

上一页  1 2 3 4 5 6 7  下一页

Tags:结合 使用 Apache

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接