groovy 的編譯

用 Gradle 做很方便,build.gradle 裡要加

apply plugin: 'groovy'

然後程式碼依照 The Groovy Plugin – Gradle User Guide Version 3.2.1 裡的說明來安排就可以:

目錄 放什麼
src/main/java Java 程式碼 (對,可以跟 Java 一起編譯)
src/main/resources 會用到的資源
src/main/groovy Groovy 程式碼,也可以放 Java 程式碼
src/test/java Java 測試案例
src/test/resources 測試案例會用到的資源
src/test/groovy Groovy 測試案例
src/sourceSet/java Java source for the given source set
src/sourceSet/resources Resources for the given source set
src/sourceSet/groovy Groovy sources for the given source set. May also contain Java sources for joint compilation.

然後執行 gradle build 進行編譯,接著就可以在 build 裡找到 jar 檔案。

但是要注意的是,這個 jar 檔案不是 executable jar 檔案 (用 java -jar 就可執行的 jar ),要編譯為 executable jar 檔,得多做一些工。

第一個是要在 build.gradle 裡指定 manifest ,也就是在製作 jar 時,指定 META-INF ,告訴 java -jar 說,該執行哪個類別裡的 main。像下面就是自訂 Jar task ,並指定 manifest 的程式。

task uberjar(type: Jar) {
    from files(sourceSets.main.output.classesDir)
    from configurations.runtime.asFileTree.files.collect { zipTree(it) }

    manifest {
        attributes 'Main-Class': 'Program'  // 這邊就是依照 groovy 的類別與程式來放,假設下面的 groovy 程式放在 src/main/groovy/program.groovy
    }
}

接著,在 groovy 的主程式裡,加入 main ,這個 main 其實跟 java 的規定一樣,必須是 public, static ,接受字串陣列。


class Program {
  public static void main(String[] args){
    println "Hello world"
  }
}

最後執行 gradle uberjar ,就可以得到 executable jar 了
參考資料:

電影流水帳(2016/12/9~2016/12/31)

Amy Adams in St Helier, Jersey
Amy Adams ,重看神鬼交鋒時,赫然發現她也有演出,哈!

  • Catch me if you can (IMDB, Wikipedia),台譯:神鬼交鋒。這部電影在第四台看過好多次了,但都是片斷的看,這次終於願意在 Netflix 上從頭到尾看完一次,相當好看的一部電影。
    Frank 因為父母的離異而離家出走,靠著自己的聰明才智冒充機長、醫生來開假支票,騙取生活費用。假支票開多了,被 FBI 的 Carl 盯上了,於是開始你追我逃的日子。後來 Frank 在醫院認識了 Brenda ,本想跟著 Brenda 的父親當個律師從此平淡過生活,可是 Carl 緊追在後,Frank 只好拋下 Brenda 逃到法國去。Carl 也跟著追到法國,並且逮到 Frank,將他引渡回美國坐牢。
    Carl 因為之前的追捕過程對 Frank 也算是有感情,就去探監,Frank 無意指點了 Carl 關於假支票的線索。Carl 後來就找了長官,把 Frank 借出來幫忙辦案,後來成為知名的金融犯罪專家。
  • Saving Private Ryan (IMDB, Wikipedia),台譯:搶救雷恩大兵。還不錯的電影,戰爭場面蠻寫實的。讓我比較驚訝的是看到玩命光頭的 Vin Diesel 也有在這部電影裡演出。
    美國軍方意外發現三個 Ryan 都出自同一個家庭,為了避免四兄弟都死去,查到最後一個 Ryan 在歐洲戰線,於是派出小組去救援。這個小組突破德軍防線找到 Ryan 後,Ryan 卻不肯離去,於是小組只好協助 Ryan 所屬的部隊防守。這場防衛戰打的很辛苦,就在敗退到最後防線,要炸掉橋的時候,盟軍的部隊趕到,讓 Ryan 免於死去。但是來救援 Ryan 的小組幾乎死傷殆盡,Tom Hanks 飾演的 Miller 也受了重傷,臨終前,要 Ryan 好好的把他們這些人的份活下去。
    經過數十年,老去的 Ryan 趕到 Miller 的墓前淚流滿面,要自己的妻子告訴自己有好好的活這些年,自己有做個好人。

仔細想想,今年好像看了不少 Tom Hanks 演的電影:航站情緣、阿甘正傳(年初的時候陪小姨子重看的)、神鬼交鋒跟搶救雷恩大兵。上篇算到 73 ,加上這篇看的兩部電影就 75 啦~

電影流水帳(2016/10/28~2016/12/8)

搞不好這是今年最後一篇也說不定,今年有個忙碌的年底。今年總共看了 73 部電影,也看了「重版出來」、「House M.D.」、「Sherlock」、「IT 狂人」等等的影集,跟往年相比,多看了 13 部電影,不過有不少部電影都是因為之前沒紀錄到而乾脆重看的。

Kristen Stewart (Bella Swan) 我覺得 Kristen Stewart 是個星運相當不錯的人,印象中最早看到她的電影是跟 Jodie Foster 合演的 Panic room,然後之後的幾年演了鼎鼎大名的木瓜之城暮光之城系列電影,今年也跟李安合作了 Billy Lynn’s Long Halftime Walk ,很難得有人能這麼順遂。當然,也是因為她本身的演戲實力堅強的原因絕對不是因為臭臉

  • Back to the future 2 (IMDB, Wikipedia),中譯:回到未來2。承接上集的結尾,Marty 回來後不久,博士急急忙忙的趕來找他,說未來他的兒子被抓去關了,要 Marty, Jennifer 跟他一起去未來。三人到了未來,誤打誤撞地救了 Marty 的兒子,可是卻也讓老 Biff 知道有時光機的存在。老 Biff 帶著運動年鑑回到更早的過去,改變了歷史,這導致博士跟 Marty, Jennifer 回到他們的時間點時,發現整個世界都跟原來的不一樣了。於是他們再次回到老 Biff 改變歷史的時間點,也就是第一集 Marty 回去的時間點,阻止了老 Biff。就在博士跟 Marty 要回去的時候,發生了意外,博士跟時光機被閃電打中,回到了更早的過去。這時候 Marty 在風雨中看到遠方來了一輛車,車上的人告訴他,有一封信是要留給你的。Marty 看了才知道,是回到過去的博士寫的信,同時信裡留下了線索。對,還有第三集。
  • American Ultra (IMDB, Wikipedia),中譯:廢柴特務。與其說是動作片,我覺得比較像是愛情片。還蠻有趣的故事,電影的安排也不錯,從頭到尾都沒冷場。
    Mike 是個魯蛇,有個在便利商店顧店的工作,平常沒事就是跟女友 Phoebe 窩在一起。始終想帶 Phoebe 出國走走,可是始終克服不了心裡的恐懼。CIA 內部展開了清洗計劃,想要將 Mike 給洗掉,但之前負責 Mike 計劃的 Victoria 不想浪費之前的成果,就趕到 Mike 那邊,以祕密的口令喚起了 Mike 的潛在能力。接著 Mike 的能力慢慢覺醒,並擊退了 CIA 派來殺掉他的特工。到後來 Mike 慢慢恢復記憶,也慢慢知道了事情的真相。原來 Phoebe 是 CIA 特工,在參與 Mike 計劃時,愛上了 Mike ,所以計劃結束的時候,決定跟 Mike 生活在一起,並暗中保護他。最後,Mike 消滅了所有派來殺他的特工,而 Victoria 則告了御狀,將發動清洗計劃的主管給免職。Mike 與 Phoebe 則繼續當特工,為 CIA 出任務。
  • Shaun of the Dead (IMDB, Wikipedia),中譯:活人甡吃。非常對我胃口的一部電影,裏面充滿相當多的惡趣味。
    Shaun 是個店領班,Ed 與他同住,Shaun 每次跟女友在一起,都會帶著 Ed。Liz 覺得這樣下去不行,發出最後通牒,希望能有兩人獨處的時間,Shuan 為了挽回這段感情,就訂了餐廳,打算來個浪漫的兩人約會。結果,在 Shuan 訂餐廳的這段時間,小鎮發生了大事,僵屍入侵。後來,Shuan 跟 Liz 分了,在 Ed 幫 Shuan 化解失戀苦悶的時候,兩人發現到小鎮不對勁了。於是兩人計劃好要先去救 Shuan 的媽媽,再去救 Liz ,然後逃到酒吧去。
    世事往往難料,Shuan 跟 Ed 兩人救出了 Shuan 的媽媽,卻沒能救到 Shuan 的繼父;救出了 Liz ,逃到酒吧,卻發現一行人陷入了被僵屍包圍的窘境。最後只剩下 Shuan 跟 Liz 逃出酒吧,逃出時,眼看就要被僵屍攻擊,這時候軍隊出現,救了他們。電影的最後,變成了人們與僵屍和平共處,Shuan 跟 Liz 圈養了變成僵屍的 Ed ,一起過著還不錯的生活。
  • The Transporter Refueled (IMDB, Wikipedia),中譯:玩命快遞4。前面有點精彩,後面弱掉,有點可惜。深深覺得男主角 Frank 的父親比 Frank 更有戲,更有值得去挖的故事。說真的,我蠻想知道 Frank 父親在退休前到底做了什麼事。
    Anna 被賣淫集團掌控,決心復仇,經過數年以後,找到了志同道合的同伴,展開復仇行動。她綁架了 Frank 的父親,請 Frank 幫忙復仇計劃。Frank 為了父親,該幫的忙都幫了,救出父親以後,就要離開。豈知,才剛把父親送回家,父親居然又被犯罪集團給綁走。犯罪集團首腦要求 Frank 將Anna 等人與帳本帶去海邊的遊艇找他,Frank 為了父親,只好再去找 Anna 商量,於是他們就一同去遊艇展開決戰。Anna  巧妙的利用集團內的矛盾,讓他們內訌,接著透過 Frank 的幫忙,進而取得優勢。最後,Anna  拿到犯罪集團的錢,將錢分給她死去的同伴,Frank 則繼續他的工作。
  • Wall-E (IMDB, Wikipedia),中譯:瓦力。前同事 M 推薦給我的作品,M 超喜歡的,不過我一直都沒機會看這部電影。
    Wall-E 是個機器人,孤單的在地球上作著回收處理的工作,某天,他發現了植物。沒多久,太空船降落在地球上,Eve 從船裡走出來,她到處探測著地球。Wall-E 愛上了這個具有流線外型的機器人,很努力的想跟她交朋友,可是 Eve 只顧著執行任務。後來,Eve 發現了 Wall-E 所發現的植物,任務完成,她自動關閉,等待回收。在等待回收的這段時間,Wall-E 試著救她,帶著她約會。
    分離的時刻到來,Eve 被太空船回收,Wall-E 以為是壞人,就跟著上去,想把她救回來。到了太空船的母船以後,才知道是流浪太空的地球人的基地。母船上的地球人基本上已經退化,所有的事情都由機器人包辦,母船上的機器人在得知 Eve 找到植物以後,根據之前收到的命令,阻止船長下達駛回地球的命令。但是在 Eve, Wall-E 與船長的努力之下,他們終於成功的讓母船回到地球。可是,Wall-E 損毀了,Eve 非常的難過,在母船回到地球以後,Eve 試著用 Wall-E 保存下來的零件去救 Wall-E ,經過一番努力,終於成功的救回 Wall-E 。
    這一段, Eve 看到 Wall-E 在地球如何照顧關機的 Eve 與試著拯救 Wall-E 的經過相當感人,我相信這也是前同事 M 喜歡 Wall-E 的原因吧。