在 Raspberry Pi 上安裝 Groovy

打開終端機,用 apt 指令安裝 OpenJDK 8 與 Groovy:

$ sudo apt install openjdk-8-jdk groovy

然後,我們試試是否可執行 groovy:

$ groovy -v
groovy: JAVA_HOME is not defined correctly, can not execute: /usr/lib/jvm/default-java/bin/java

會顯示「groovy: JAVA_HOME is not defined correctly, can not execute: /usr/lib/jvm/default-java/bin/java」這個訊息。

我們先切換到 /usr/lib/jvm 目錄下查看一下:

$ cd /usr/lib/jvm
$ ls -l
lrwxrwxrwx 1 root root   21  6月 17 02:24 java-1.11.0-openjdk-armhf -> java-11-openjdk-armhf
drwxr-xr-x 9 root root 4096  7月  8 01:20 java-11-openjdk-armhf
lrwxrwxrwx 1 root root   20  3月 29 21:54 java-1.8.0-openjdk-armhf -> java-8-openjdk-armhf
drwxr-xr-x 7 root root 4096  8月  2 13:52 java-8-openjdk-armhf
drwxr-xr-x 9 root root 4096  3月 14  2018 jdk-8-oracle-arm32-vfp-hflt

然後幫 java-8-openjdk-armhf/ 做一個名為 default-java 的 symlink:

$ sudo ln -s java-8-openjdk-armhf/ default-java
$ ls -l
lrwxrwxrwx 1 root root   21  8月  2 14:05 default-java -> java-8-openjdk-armhf/
lrwxrwxrwx 1 root root   21  6月 17 02:24 java-1.11.0-openjdk-armhf -> java-11-openjdk-armhf
drwxr-xr-x 9 root root 4096  7月  8 01:20 java-11-openjdk-armhf
lrwxrwxrwx 1 root root   20  3月 29 21:54 java-1.8.0-openjdk-armhf -> java-8-openjdk-armhf
drwxr-xr-x 7 root root 4096  8月  2 13:52 java-8-openjdk-armhf
drwxr-xr-x 9 root root 4096  3月 14  2018 jdk-8-oracle-arm32-vfp-hflt

然後再執行 groovy 試試看:

$ groovy -v
Groovy Version: 2.4.16 JVM: 1.8.0_212 Vendor: Oracle Corporation OS: Linux

寫個程式測試看看:

$ cd ~
$ vim hello.groovy
def hello(name) {
    println("Hi, " + name)
} 
hello("Pi")

執行程式:

$ groovy hello.groovy
Hi, Pi