Groovy程序設(shè)計(jì)第一章起步——介紹安裝和各種集成開發(fā)工具

獲取Groovy

Groovy主頁:http://www.groovy-lang.org/
Groovy語言實(shí)現(xiàn)的最新預(yù)發(fā)布版本:https://github.com/apache/groovyhttps://github.com/apache/groovy

安裝Groovy的前提條件

需要JDK1.5或更高版本厌衔。

在Windows系統(tǒng)環(huán)境安裝Groovy

設(shè)置GROOVY_HOME環(huán)境變量和路徑耕挨。
%GROOVY_HOME%\bin添加到Path環(huán)境變量中,以此把Groovy的bin目錄加入到查找路徑中易桃。
確認(rèn)環(huán)境變量JAVA_HOME指向的是Java開發(fā)包(Java Development Kit,JDK)的位置好港。

記得關(guān)閉所有打開的命令行窗口匿值,因?yàn)閷Νh(huán)境變量的修改需要重啟命令行窗口才會生效。在新的命令行窗口中赶袄,輸入groovy -v,確保報(bào)告的是正確的版本抠藕。

在類Unix系統(tǒng)環(huán)境安裝Groovy

解壓下載的二進(jìn)制發(fā)布包饿肺。
設(shè)置GROOVY_HOME環(huán)境變量與路徑。根據(jù)所用Shell的不同盾似,需要編輯不同的配置文件唬格。

在OS X上需要編輯的是~/.bash_profile文件。在這個(gè)文件中颜说,添加了一項(xiàng):export GROOVY_HOME="/opt/groovy/groovy-2.6.0"购岗,以此設(shè)置環(huán)境變量GROOVY_HOME
$GROOVY_HOME/bin添加到了PATH環(huán)境變量中门粪。
確認(rèn)環(huán)境變量JAVA_HOME指向的是JDK目錄所在位置喊积;如果不是,請?jiān)O(shè)置玄妈。

ls -l`which java`

這條命令可以幫助確定Java的安裝位置乾吻。

管理多個(gè)版本的Groovy

GVM(Groovy enVironment Manager)不僅可以管理Groovy語言的版本,還可以管理與Groovy相關(guān)的庫和工具(如Grails拟蜻、Griffon和Gradle等)的版本绎签。
支持各種*nix系統(tǒng),在Windows系統(tǒng)環(huán)境也可以通過Cygwin支持酝锅。

gvm list groovy查看到可用的和已安裝的Groovy語言版本诡必。
gvm install groovy 2.1.1:會下載并安裝該版本,以供使用搔扁。
gvm use groovy 2.1.1:切換到2.1.1版本

使用groovysh

groovysh是以交互方式嘗試一些小型Groovy代碼例子的好工具爸舒。它也可以用于在編碼過程中實(shí)驗(yàn)一些代碼。然而需要注意的是稿蹲,groovysh有些特殊之處扭勉。如果在使用該命令時(shí)遇到問題,可以使用save命令把代碼保存到一個(gè)文件中苛聘,然后嘗試使用groovy命令從命令行運(yùn)行涂炎,以避免任何與工具有關(guān)的問題忠聚。
一按下回車鍵,groovysh命令就會編譯并執(zhí)行輸入完的語句唱捣,打印代碼執(zhí)行過程中的所有輸出咒林,并打印這條語句的執(zhí)行結(jié)果。

當(dāng)輸入一個(gè)類爷光、一個(gè)方法,甚至一個(gè)if語句時(shí)澎粟,groovysh會等完成輸入再執(zhí)行那段代碼蛀序。groovy:提示符后面的數(shù)字提示已經(jīng)累積的要執(zhí)行代碼的行數(shù)。

如果不太確定要輸入的命令活烙,可以輸入所知道的盡可能多的字符徐裸,然后按Tab鍵。shell會打印以輸入的部分名字打頭的可用方法啸盏。

使用完畢重贺,輸入exit退出該工具。

使用groovyConsole


要執(zhí)行代碼回懦,Windows系統(tǒng)用戶按Ctrl+R或Ctrl+Enter組合鍵气笙,Mac系統(tǒng)用戶則按Command+R或Command+Enter組合鍵。

在命令行中運(yùn)行Groovy

Test.groovy:



運(yùn)行結(jié)果:

要在命令行中直接嘗試一些語句怯晕,請使用-e選項(xiàng):

輸入不包含在任何類中的一些可執(zhí)行代碼潜圃,或者是一個(gè)帶有static main(String[] args)方法(即傳統(tǒng)的Java main()方法)的類。

如果類擴(kuò)展了GroovyTestCase類舟茶,或者實(shí)現(xiàn)了Runnable接口谭期,可以跳過main()方法。在這些情況下吧凉,如果main()方法仍然出現(xiàn)了隧出,則被優(yōu)先執(zhí)行。

使用IDE

集成開發(fā)環(huán)境(Integrated Development Environment阀捅,IDE)

IntelliJ IDEA

通過IntelliJ IDEA胀瞪,可以編輯Groovy代碼,使用代碼補(bǔ)全饲鄙,獲得對Groovy生成器的支持赏廓,利用語法和錯(cuò)誤高亮,使用代碼格式化與檢查傍妒,聯(lián)合編譯Java和Groovy代碼幔摸,重構(gòu)與調(diào)試Java和Groovy代碼,以及在同一項(xiàng)目中使用Java和Groovy代碼颤练。

Eclipse Groovy插件

TextMate Groovy Bundle

Mac的程序員是在TextMate中使用Groovy Bundle既忆。(Windows用戶可以看一下E Text Editor。)
TextMate提供了一些可以節(jié)省時(shí)間的腳本片段,支持將一些代碼展開為標(biāo)準(zhǔn)的Groovy代碼患雇,比如閉包跃脊。

Sublime Text

要在Sublime Text內(nèi)運(yùn)行Groovy代碼,需要一個(gè)構(gòu)建腳本苛吱。如果Tools > Build System菜單下沒有酪术,只要選擇New Build System...菜單項(xiàng)創(chuàng)建一個(gè)名為groovy.sublime-build.json的文件,并在該文件中寫入以下命令:

按ctrl+b來運(yùn)行文件翠储。

快速編輯绘雁、編碼和運(yùn)行測試

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市援所,隨后出現(xiàn)的幾起案子庐舟,更是在濱河造成了極大的恐慌,老刑警劉巖住拭,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挪略,死亡現(xiàn)場離奇詭異,居然都是意外死亡滔岳,警方通過查閱死者的電腦和手機(jī)杠娱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谱煤,“玉大人墨辛,你說我怎么就攤上這事∨糠” “怎么了睹簇?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長寥闪。 經(jīng)常有香客問我太惠,道長,這世上最難降的妖魔是什么疲憋? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任凿渊,我火速辦了婚禮,結(jié)果婚禮上缚柳,老公的妹妹穿的比我還像新娘埃脏。我一直安慰自己,他們只是感情好秋忙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布彩掐。 她就那樣靜靜地躺著,像睡著了一般灰追。 火紅的嫁衣襯著肌膚如雪堵幽。 梳的紋絲不亂的頭發(fā)上狗超,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機(jī)與錄音朴下,去河邊找鬼努咐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛殴胧,可吹牛的內(nèi)容都是我干的渗稍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼团滥,長吁一口氣:“原來是場噩夢啊……” “哼竿屹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起惫撰,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎躺涝,沒想到半個(gè)月后厨钻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坚嗜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年夯膀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苍蔬。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诱建,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碟绑,到底是詐尸還是另有隱情俺猿,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布格仲,位于F島的核電站押袍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏凯肋。R本人自食惡果不足惜谊惭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侮东。 院中可真熱鬧圈盔,春花似錦、人聲如沸悄雅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宽闲。三九已至癌佩,卻和暖如春木缝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背围辙。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工我碟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人姚建。 一個(gè)月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓矫俺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掸冤。 傳聞我的和親對象是個(gè)殘疾皇子厘托,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)稿湿,斷路器铅匹,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,070評論 25 707
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,803評論 6 342
  • 童年記憶 /南倚閑坐 今天 是鬼節(jié) 不知怎得 突然間想起 一件很久的事 我的童年記憶中 很深刻的一件事兒 是關(guān)于一...
    南倚閑坐閱讀 137評論 0 0
  • 我恨這 妖魔鬼怪 為禍人間 我更恨自己 偷生在角落 懦弱給誰看 于是 我的田園 我的花果山 淪陷 這個(gè)黑夜 我要吶...
    遇見Luck閱讀 971評論 12 31