Play Framework 2.5 環境搭建與新建專案(一)

c-xuan發表於2016-09-25

簡介

Play Framework是啥?引用下百度百科的說法:

Play!是一個full-stack(全棧的)Java Web應用框架,包括一個簡單的無狀態MVC模型,具有Hibernate的物件持續,一個基於Groovy的模板引擎,以及建立一個現代Web應用所需的所有東西。

當然,這個介紹是比較舊的,對於老版本的Play!,這麼說沒毛病。進入Play!官網看看,滿眼的綠啊,有一股清新之感吶。版本都到2.5.8了。追溯1.0版本都是在2010.07.28釋出的,到現在已經有6年時間了。

PlayFrameworkInit-1

其實從Play!2.3.8版本開始變化就很大了,引入了activator,typesafe,SBT啥啥的各種東東,一開始都不大懂這些,只要知道跟之前版本相差很遠就好了。這個號稱是拯救Java程式設計師的神器,帶著一顆好(zhe)奇(teng)的心開始探索一番。

環境搭建

下載安裝包

PlayFrameworkInit-2

進入到官網的下載介面,點選下載就可以了,一個名為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命令,然後在瀏覽器中開啟一個說明頁面的話就說明環境變數新增的沒問題了。

小問題

PlayFrameworkInit-3

關於那個系統找不到檔案提示:

**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 檔案。找到

PlayFrameworkInit-4

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然後回車,其他的我沒試,不過就是建立一個專案結構目錄嘛,大概差不多。

PlayFrameworkInit-5

然後就看到F:\PlayFramework目錄下多了一個資料夾,名稱就是你輸入的專案名稱。
繼續命令列輸入

cd onlineTest 

切換到專案目錄下,再輸入

activator run 

就會編譯專案然後啟動執行服務了。

PlayFrameworkInit-6

得說一下,因為我之前建立過專案了,換句話說該下載的依賴包都下載了,所以很快。就啟動了,在瀏覽器輸入

localhost:9000

就可以看到介面了。

PlayFrameworkInit-7

但是如果是第一次建立的話,而且還是在國內沒有什麼破牆手段的話,對不住了您吶,先沏壺茶,嗑袋瓜子,睡個午覺,那等的花都謝了。

一開始我還好奇,它下載的東西都哪去了,沒往專案目錄裡下載,其實是往使用者目錄下的 .ivy2.sbt 兩個隱藏資料夾裡下載了,如果你看到這兩個資料夾的大小有變化,恭喜你,就是在下載依賴包的路上了。很有可能你一個午覺醒來發現瓦擦!中途網路下載超時啟動失敗了!那麼同樣恭喜你,換個網路或者同一個網路下再試幾次。畢竟Play!框架嘛,有種被Play的趕腳。

PlayFrameworkInit-8

其實我也試過像之前我說的把網路斷掉,然後執行啟動命令,可能還是因為我這之前下載過了依賴包,所以很快,不大清楚首次建立執行專案的時候咋樣,你可以試試。

唉,本來想睡覺的,但是還是想好(zhe)奇(teng)下斷網會怎樣,我就把使用者目錄下的.ivy2和.sbt兩個隱藏資料夾刪了,然後斷開網路,重新建一個offlineTest專案試試。

PlayFrameworkInit-9

得,報錯了,我輸入過ignore,直接停止了,不行,我有試過last,然後看到命令列視窗刷刷刷的快速往上飄各種資訊。感覺有希望啊。然後又來了一個停頓

PlayFrameworkInit-10

繼續輸入last,回車後繼續刷刷刷的。。。。。好久。。。。。好想睡覺。

又來了個停頓,輸入last回車。。。。。等~等燈等燈~

後面又輸入兩次last,還沒完事兒。。。。。算了睡覺!!

後續

Play Framework 2.5 環境搭建與新建專案(二)

相關文章