简介
Play Framework是啥?引用下百度百科的说法:
Play!是一个full-stack(全栈的)Java Web应用框架,包括一个简单的无状态MVC模型,具有Hibernate的对象持续,一个基于Groovy的模板引擎,以及建立一个现代Web应用所需的所有东西。
当然,这个介绍是比较旧的,对于老版本的Play!,这么说没毛病。进入Play!官网看看,满眼的绿啊,有一股清新之感呐。版本都到2.5.8
了。追溯1.0版本都是在2010.07.28发布的,到现在已经有6年时间了。
其实从Play!2.3.8版本开始变化就很大了,引入了activator
,typesafe
,SBT
啥啥的各种东东,一开始都不大懂这些,只要知道跟之前版本相差很远就好了。这个号称是拯救Java程序员的神器,带着一颗好(zhe)奇(teng)的心开始探索一番。
环境搭建
下载安装包
进入到官网的下载界面,点击下载就可以了,一个名为typesafe-activator-1.3.10-minimal.zip
的压缩文件,没错,这就是全部了。但是从名字里的minimal就可以看出这是个精简版的环境包,用这个有代价的噢,尤其在我大天朝。在新建项目的时候会下载各种依赖包,很多国外站点在国内访问是很慢的,所以新建项目的过程非常考验耐性。所以还是下载那个Offline Distrbution版本的,离线版本的600+M,本以为用这个离线版的会快很多,结果。。。。。。。。是谁谁应该都会吐槽,这TM不是离线的麽,下了几百兆的东西,你告我创建项目的时候还要更新和各种下载依赖包!!!!!
不过突然想到一个问题,人家是离线包,我在新建项目的时候是连着网的,莫非是要把网断开么!行,我等下试试。
添加环境变量
按正常步骤来,把下载的压缩包加压到一个目录里,比如:
F:\PlayFramework\typesafe-activator-1.3.10\activator-dist-1.3.10
然后进入到bin目录,复制地址栏的地址:
F:\PlayFramework\typesafe-activator-1.3.10\activator-dist-1.3.10\bin
把这个加到Windows的环境变量里,怎么添加我就不多讲了。
添加完以后,在你想创建项目的目录下空白处按住Shit
键,然后点鼠标右键,弹出菜单选择“在此处打开命令行”弹出命令行窗口。输入activator
命令,然后在浏览器中打开一个说明页面的话就说明环境变量添加的没问题了。
小问题
关于那个系统找不到文件提示:
ACTIVATOR_HOME=F:\PlayFramework\typesafe-activator-1.3.10\activator-dist-1.3.10
系统找不到文件 BIN_DIRECTORY..\conf\sbtconfig.txt。
这个其实没啥影响,但是非要纠结的话,可以用文本编辑器看看
F:\PlayFramework\typesafe-activator-1.3.10\activator-dist-1.3.10\bin
目录下的 activator.bat 文件。找到
set SBT_HOME=%BIN_DIRECTORY
这行,不知道是官方故意怎么干的还是马虎造成的错误,感觉少了个%
,应该是
set SBT_HOME=%BIN_DIRECTORY%
改成上述那样其实也会报错,因为
F:\PlayFramework\typesafe-activator-1.3.10\activator-dist-1.3.10\
路径下就没有conf文件夹,里面就没有sbtconfig.txt文件,要是真看着不舒服的话,就建一个conf文件夹,然后里面建一个sbtconfig.txt配置文件,然后把下面这段复制到文件里面:
# Set the java args to high
-Xmx512M
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=128m
# Set the extra SBT options
-Dsbt.log.format=true
项目创建和启动
命令行方式
下面就正式用命令行创建项目了。命令行输入
activator new onlineTest
onlineTest是项目名称,然后稍等下会列出一些模板名称,根据个人喜好,用Java就输入5然后回车,用Scala语言写程序的就输入6然后回车,其他的我没试,不过就是创建一个项目结构目录嘛,大概差不多。
然后就看到F:\PlayFramework目录下多了一个文件夹,名称就是你输入的项目名称。
继续命令行输入
cd onlineTest
切换到项目目录下,再输入
activator run
就会编译项目然后启动运行服务了。
得说一下,因为我之前创建过项目了,换句话说该下载的依赖包都下载了,所以很快。就启动了,在浏览器输入
localhost:9000
就可以看到界面了。
但是如果是第一次创建的话,而且还是在国内没有什么破墙手段的话,对不住了您呐,先沏壶茶,嗑袋瓜子,睡个午觉,那等的花都谢了。
一开始我还好奇,它下载的东西都哪去了,没往项目目录里下载,其实是往用户目录下的 .ivy2 和 .sbt 两个隐藏文件夹里下载了,如果你看到这两个文件夹的大小有变化,恭喜你,就是在下载依赖包的路上了。很有可能你一个午觉醒来发现瓦擦!中途网络下载超时启动失败了!那么同样恭喜你,换个网络或者同一个网络下再试几次。毕竟Play!框架嘛,有种被Play的赶脚。
其实我也试过像之前我说的把网络断掉,然后运行启动命令,可能还是因为我这之前下载过了依赖包,所以很快,不大清楚首次创建运行项目的时候咋样,你可以试试。
唉,本来想睡觉的,但是还是想好(zhe)奇(teng)下断网会怎样,我就把用户目录下的.ivy2和.sbt两个隐藏文件夹删了,然后断开网络,重新建一个offlineTest项目试试。
得,报错了,我输入过ignore,直接停止了,不行,我有试过last,然后看到命令行窗口刷刷刷的快速往上飘各种信息。感觉有希望啊。然后又来了一个停顿
继续输入last,回车后继续刷刷刷的。。。。。好久。。。。。好想睡觉。
又来了个停顿,输入last回车。。。。。等等灯等灯
后面又输入两次last,还没完事儿。。。。。算了睡觉!!
后续