读书人

制造更完美的Lift开发环境:Lift + SB

发布时间: 2012-09-19 13:43:54 作者: rapoo

打造更完美的Lift开发环境:Lift + SBT + Intellij Idea + JRebel
Lift和Scala的受欢迎程序仍在不断升温,越来越多的公司开始采用scala和Lift搭建自己的企业应用。在我写这篇文章之时,scala已推出了2.8.1版,Lift则推出了2.2-RC2,增加很多令人心动的特性。scala和lift的开发工具也越来越完善,其中Intellij Idea+ SBT的组合最受scala开发者的欢迎。在这边文章中我将详细介绍如何利用Intellij Idea + SBT从头开始搭建一个完美的开发的环境。由于我之前写过一篇相似的文章,所有很多细节接在这篇文章中省略。大家可以参考这里。

首先安装最新版本的idea社区版,写这篇文章时的最新版本的10.0。然后用其插件管理器安装最新的scala开发插件。接着使用maven的archetype建立一个lift maven工程。



关于为什么需要这样设置,请参考Lift的wiki。

接下来就是使用SBT来对工程进行初始化。首先到SBT主页下载最新版本的SBT(现在最新版是0.7.4),然后将其安装到自己的操作系统。这里只介绍windows下的安装,其它系统下的安装方法请参考其主页的文档。

在windows下安装SBT的步骤:
第一步:将sbt-launch.jar放到一个不包含空格和中文的目录下,例如c:\bin。
第二步:在sbt-launch.jar的同级目录新建一个脚本,取名sbt.bat。

第三步:将该目录加入到windows的Path变量中,以便可以在任何地方使用sbt命令。

在SBT安装完成后,打开cmd,进入到刚才生成的maven工程的目录,运行sbt,sbt会根据pom.xml的配置自动下载依赖的包;运行jetty-run,待jetty启动完成后,访问http://localhsot:8080就可以看到我们可爱的helloworld界面了。

SBT提供了对scala应用从开发到测试以及部署全周期管理,更多关于SBT的使用只是请参考SBT的主页的相关文档。这里再介绍一下如何一起使用SBT和JRebel。

欲在SBT中使用JRebel,需要在两个地方进行配置:
1)修改LiftProject.scala,加入


在进行上述修改配置后,重新启动sbt,这时可以留意到sbt启动的同时加载了jrebel,运行"update","jetty-run", "~compile","~compile"会让sbt实时的编译改动过的scala类。

让我们测试一下sbt+idea+jrebel的强大威力!在idea中修改 snippet下的 HelloWorld.scala,保存,可以在sbt console中看到输出的实时编译信息。刷新页面,可以马上看到改变。十分完美!

总结:
Intellij Idea是目前最好的scala ide,但其编译scala的速度偏慢;sbt提供了对scala应用从开发到测试部署的全生命周期管理,可以实时编译scala文件;jrebel让你不需要重启服务器就可以看到修改的效果。它们的组合是开发Scala、Lift应用的瑞士军刀,让你无往不利!


1 楼 donyee 2011-01-13 我的组合是 netbean+scala plugin + Maven +jrebel

读书人网 >软件架构设计

热点推荐