被Play framework狠狠的play了一把
1.起因
早就听说play framework很火,而且是拯救Java程序员的神器,所以在全国纪念抗战胜利之际,本着学(man)习(zu)研(hao)究(qi)的态度想进行一番尝试。
2. 经过
2.1 下载
果断上Google百度一下:现在迎面缓缓(是的,缓缓)驶(jia)来(zai)的是play framework的官网(Play 2.4.2 "Damiya")。看那满眼的绿色,青葱的感觉,棒棒哒~~
直接忽略首页巴拉巴拉的鹰语,以及狂拽炫酷X炸天的动画,凶狠的戳向Download,满心期待的下载对话框……呃,怎么又是一个新的页面,好吧,再次点击裆漏的。
终于来了,哎哎~~怎么才1MB(此处有阴风袭来,隐隐有些不详之感),而且typesafe是什么龟,activator又是毛线??
管他辣么多,先click ok再说。
稍等片刻(期间随意翻了翻官网),一道丰盛的,呃,一个完整的压缩包就下载好了。
2.2 安装计划A
在下载页面顺着弹出的DIV,点击已经高亮的Get started。
首先需要JDK,这个必须已经存在啊。然后貌似需要CMD中执行activator,好先加入环境变量再说。此处忍不住吐槽一下MS劣质的环境变量配置界面了,难找也就不用吐槽,为毛配置输入框就不能大一点的,就一行能看见什么啊。。此处顺带推荐一个环境变量配置神器 http://www.rapidee.com
官网说只需如下duang、duang、duang三条命令就可以把玩到play了,真是喜大普奔(好像很古老的词汇了)。不过希望越大失望越大,此处正呼应前面埋下的伏笔,实现前后文照应、使文章结构严密、紧凑,有助于。。。(这段掐了不播)
activator new my-first-app play-scala
cd my-first-app
activator
new之后是等待。嗯,可以等等。等等。灯~等灯等灯~~
各种依赖各种下载,时时刻刻考验这跨洋跨墙的网速。
在这个浮躁的社会,我却总能保持一颗平静的内心。
不对,官网似乎有离线下载的选项,(此处呼应上文的随意翻了翻官网,体现了作者。。掐了)Offline Distribution (408M) 408M,好吧,play无需借助其他的web server,自己实现了HTTP协议,大一点很正常么,而且包含scala的编译器。下载,等待。此处又在随意的翻官网。
。。。
2.3 安装计划B
下(吃)载(过)完(午)成(饭)后,解压之前先把一起的环境删掉。首先是activator,然后是用户目录下的.activator;.ivy2;.sbt(sb t?)统统删掉。为啥要删掉,我会告诉你我有洁癖么?
然后解压,配置环境变量。
应该还是那duang、duang、duang三条命令。
官网并没有说offline这个包的结构需要拷到用户目录下,于是激起了我缜密的思维,真相只有一个。。(我也不知道是啥)
果断断网执行,万一发生不必要的网络流量,节约带宽,匹夫有责。
当当当当~~ERROR
果然没有找到。凭着映象将repository目录拷贝到用户目录下.ivy2文件夹,更名为local。
继续执行
哎~~世界开始变的不好了。还是找不到.ivy2\local\org.fusesource.jansi\jansi\1.11\ivys\ivy.xml,翻开目录,果然没有,但是有个1.4版本的
此处脑袋中愤怒的小人开始掌管控制台(刚看了Inside Out,推荐这么幼稚的动画电影都有点不好意思了呢~)
连上歪怀,任它下载去吧(此处没有皮卡丘)
灯~等灯等灯~~(感觉Intel的这个广告太成功了)
还算迅速。。然后第二条命令。。
为毛模板也找不到???明明在offline包里有啊。。
果断拷到用户目录.activator\1.3.5\templates。
第二条也成功了。看来就剩功成名就的最后一条了
哎~~Intel广告再次来袭。。。。
3. 结果
目前Intel的广告仍然在循环播放。
真不知道play是如何拯救Java程序员的,现在唯一可以自我安慰的只有天将降大任与斯人也。。。
可能有人会说我网速问题,如果网速快,分分秒秒就可以拯救。但是标着OFFLINE的是几个意思,忽悠人还是PLAY?!
而且这个自动依赖是怎么确定的。自动依赖的确很有用处,可能不能让我配置一下啊。
约定大于配置么?
那么那个1.4版本的到底是有什么卵用?
感觉那个愤怒的小人已经烧坏了,此处已无力吐槽。。
不说了,订外卖吃晚饭了
(if依赖下载完成 and rand()>0.5 then 还有下文)
被Play framework狠狠的play了一把的更多相关文章
- 玩转 iOS 10 推送 —— UserNotifications Framework(合集)
iOS 10 came 在今年 6月14号 苹果开发者大会 WWDC 2016 之后,笔者赶紧就去 apple 的开发者网站下载了最新的 Xcode 8 beta 和 iOS 10 beta,然后在自 ...
- 笨重的mfc还在基于系统控件,熟练的mfc工程师还比不过学习Qt一个月的学生开发效率高(比较精彩,韦易笑)
作者:韦易笑链接:https://www.zhihu.com/question/29636221/answer/45102191来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新:擦,本来只有 ...
- Mac OS X 安装Win7双系统
Mac10安装双系统 为了有一个纯净的开发环境,就在mac电脑中安装windows虚拟机.刚开始使用还很顺利,两个系统的交互很方便,mac用来下载.搜索和写笔记:windows纯开发.时间长了以后关机 ...
- lua table remove元素的问题
当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: for key, value in pairs(tbtes ...
- RPM -U 升级机制探索
今天被RPM升级机制狠狠的阴了一把,差点没过来,趁着热乎赶紧记录下来,已被后用. RPM包有升级机制(Upgrade), 使用-U 参数.这点我之前略有耳闻,知道的并不详细. 先说说案例:半年前我们r ...
- 在Windows下部署安装hexo
由于hexo的文档里并没有一步步详细写出过程的细节,在Windows下又更麻烦,所以就很容易入坑. 安装 安装github for windows,msysgit 安装包: https://githu ...
- Google C++ Style Guide在C++11普及后的变化
转 http://www.cnblogs.com/chen3feng/p/5972967.html?from=timeline&isappinstalled=0&lwfrom=user ...
- Nodejs --我自己的学习笔记
对于Nodejs,相信客官并不陌生,网上却已众说纷纭,有人说是一个平台,有人说是服务器JavaScript,有人说一个框架… 之前亦有过研究,多怀可远观而不可亵玩也.高效率,I/O操作,异步编程,以及 ...
- 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路
引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...
随机推荐
- H5实现俄罗斯方块(二)
对应的js 1.封装操作dom的js: (function (document) { //游戏的实例 var gameInst; /**封装一个返回原型的DOM对象 */ function DomOb ...
- 使用免费内测托管平台fir.im测试
1,使用Xcode先行把项目导成ipa文件.登录http://fir.im/ 2.点击左上角的苹果标志,把准备好的ipa文件拖入即可.4.填写相关材料即可开始上传5,让飞机灰一会即可.6.接着会看见: ...
- Sticks_dfs
Description George took sticks of the same length and cut them randomly until all parts became at mo ...
- Unity3D ShaderLab 使用alpha参数创建透明效果
Unity3D ShaderLab 使用alpha参数创建透明效果 其实Unity为了方便我们的工作,为我们内置了很多参数.比如马上用到的透明功能. 准备场景新建Shader Material ,一张 ...
- js控制tr 隐藏 显示
tr td 外面不要套div <tr> <td>排期确定结果: </td> <td> <label class="liradio&quo ...
- 【题解】【数组】【Leetcode】Merge Sorted Array
Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assume th ...
- HTML-day-1-HTML基础知识
HTML基础知识 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- Android关于主线程和非主线程
必须在主线程执行的任务: (1)UI更新 必须在非主线程中执行的任务 (1)Http请求 如执行:ImageHelper.getInstance().loadImageSync(picUrl); 外面 ...
- 在web.xml中配置error-page
在web.xml中配置error-page 在web.xml中有两种配置error-page的方法,一是通过错误码来配置,而是通过异常的类型来配置,分别举例如下: 一. 通过错误码来配置error ...