初学Lift 时看到了spreadscala 的打造更完美的Lift开发环境:Lift + SBT + Intellij Idea + JRebel ,受益良多,但是那一篇文章毕竟写与2010 年末,很多东西已经升级更新,故重新整理一下,希望能对正在阅读这篇文章的你有所助益。
此去经年,Liftweb 已经推出了2.5 稳定版,scala 也已经升级到了 2.10.3,SBT 则是0.13.0,Intellij IDEA 推出了12 版本,而JRebel 已经是5.4.0,并且还是对所有的scala 开发者友好的免费(不知道这一段算不算排比)。
首先是Liftweb ,安装运行超级简单,只需到官方网站点击下载最新版本的压缩包(不到10M,较Play framework 的好几百M可是轻便了不少),然后直接从终端进入的相关的工程路径下运行
./sbt
> container:start
就OK 啦,然后浏览器访问 http://localhost:8080即可,附下载地址:http://liftweb.net/download
这里是 scala_210/lift_basic 的运行截图
然后接下来是Intellij IDEA,这个神器不得不用,相信你也是用过eclipse 的人,只要你用上几天,打死你你也不用eclipse 了,就好像如果你用了scala 或者python ,很难在去接受java 丑陋的代码一样,咳咳,顺便说一下,python 的性能肯定是比不上scala 的。
在附下载地址:http://www.jetbrains.com/idea/download/,推荐使用旗舰版的,其实也就199 刀,合计1200 多元人民币,行了,别跟我哭穷了,知道你是苦逼的程序员,我就在附激活码一枚
user name:JavaDeveloper
serial number:92547-KY2BB-QZ0S1-PEZCV-HUT8Q-6RYY4
嘘,小点声,好东西,自己用就行了。
然后就是用Idea 来编辑liftweb 的日子了,不过来得最后一步,生成idea 代码,首先在你要生成intelij idea 代码的lift 路径下找到 project/plugins.sbt,打开,在里面添加一行
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.1")
然后运行
sbt
> gen-idea
附上github 地址:https://github.com/mpeltonen/sbt-idea
其实这不是最后一步,我们的神器idea 还没有安装 scala 插件,也就是说idea 默认是不支持scala 的(应该是为了性能考虑,因为毕竟有大批的java 和安卓开发者也在用神器),那我们就来安装一下,打开你的神器,各种插件设置之后(选你认识的就行,越少越好,多了影响速度,以后可以在安装的),应该会出现下图
你点一下Configure ,会出现下图
你在点一下Plugins 会出现下图
在我鼠标的搜索文本框的位置输入scala,左边的那些插件会迅速减少,选中其中的scala 右边的复选框(可能需要右键然后选择download 之类的),然后点击OK,重启神器即可。
回到 intellij IDEA 的第一幅图片,选择Create New Project,出现下图
对,你想的没错,点击左边Scala 栏里面的Scala Module,直接看Set Scala Home 单选框,这里是空的因为我们没有下载或者指定过Scala 路径,如果你电脑里没有安装过Scala,你可以点击Download Scala 按钮(如果下载失败你就自己装一个)
,选择完sdala 路径之后勾选Make global libraries 按钮,这样就不用每次都配置了。
这时候你在打开File -> open ,选择刚刚生成好idea 代码的路径(貌似新版本都给生成好了,不用自己安装),就可一在idea 里面编辑了。
之前的做法是idea 只是一个liftweb 的编辑器,偶尔检查一下代码 错误和代码格式,运行在终端里的sbt 进行,其实sbt 有专门的idea 插件,我们都在神器里面完成好了。
打开FIle -> Settings ,出现下图
在左边的导航栏里找到Plugins,效果如下图
对,点击我鼠标处的Browse repositories... ,会出现下图
点击Manage repositories...,会出现下图
点击,加号,在弹出的对话框中输入
http://download.jetbrains.com/scala/sbt-nightly-leda.xml
点击OK,点击OK,关闭"Add Repository",“Custom Plugin Repositories”这两个对话框,在“Browe Repositories” 右上角的搜索栏输入SBT,在左边的插件栏里面选择 SBT v1.5.0,双击安装,重启神器,下面的会出现SBT Console 字样,点开后如下图所示
至此,你已经可以在神器里面直接运行liftweb ,而不用在终端和IDE 里面来回切换。
安装JRebel 直接在File -> Settings -> Plugins ,在右上角搜索框输入JRebel,安装JRebel Plugin,安装完重启神器。
然后File -> Setting -> JRebel -> Activation,在右边的面板中点击Free 按钮,注册激活一下就拥有了一个免费的Scala Jrebel 啦,把它填写在Register your license 里面的Paste license code 里。
这时候你的SBT Console 还没有Jrebel 特性,你得打开 File -> Setting -> SBT ,把下面的这段话替换到右边的VM Parameters 里
-XX:+CMSClassUnloadingEnabled -Xss2M -Xmx512M -XX:MaxPermSize=256M -noverify -javaagent:~/.jrebel/.intellij_temp/jrebel.jar
重启一下神器你在试试。
至于livereload 的安装比较复杂,首先需要ruby 环境,和gem。具体请询问刚过完十五岁生日的google。
然后就是guard,请参见https://github.com/guard/guard,
接着是gurad-livereload,请参见https://github.com/guard/guard-livereload
然后在你的liftweb 目录下面编写一个 Guardfile,添加如下内容
guard 'livereload' do
watch(%r{.+\.(scala|html|css|js|class?)$})
end
在然后就是给你的浏览器安装一个livereload 插件,参见 http://go.livereload.com/extensions
然后终端运行gurad,然后浏览器开启livereload 插件,就成了。
好累呀~