Java Hello World!

從安裝 JDK 到 Hello World

Java Hello World

IDE都裝完了,還沒有裝 Java 環境實在是不行,這禮拜就來把 Java 環境裝起來吧!

AdoptOpenJDK

我們在裝 Java 環境的時候一定會看到這些問題 「Oracle 是不是要收費了」「Java 不再免費了」「轉去 OpenJDK 吧!」 ... 恩... 好!既然大家都怕哪天翻臉不認人,我們這次試試看用 OpenJDK :)

什麼是 OpenJDK ?

Java Development Kit (JDK) 開發者必須安裝 JDK 來進行 Java 程式的編譯、除錯 而 OpenJDK 呢,我們可以簡單理解為是 JDK 的開源版本,是允許商業授權的。 相較於 JDK 的「只允許個人研究使用」,OpenJDK 直接允許商業授權,實在是多了份安心哪~

安裝 AdoptOpenJDK

我這邊 Demo 的環境是 Mac 使用 homebrew + homebrew cask 來裝 adoptopenjdk8

# 把 homebrew 的倉庫切到 AdoptOpenJDK 他們家
~ brew tap AdoptOpenJDK/openjdk 

# 切換過去就可以開始安裝 openjdk8 了
~ brew cask install adoptopenjdk8

# 查看 Java 版本資訊
~ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)

其實這樣就裝好了... 這樣會不會有點灌水XDD 當然沒有這樣~

多個 JDK 版本間切換

我們現在安裝好了 JDK1.8 ,是因為這我的範例要用 1.8 來 Demo 那如果今天我的工作上是需要用到 JDK11 的話,該怎麽辦呢? 聰明的你們通常會想到... 阿! JavaScript 生態系有一個叫做 nvm 的東西,可以用 nvm 來幫我安裝不同的 node 版本,再在需要的時候切換就好。 那 Java 是不是也有這種東西呢?

誒... 有點可惜!目前沒有找到類似管理 Java 版本的工具~ 不過我們還是可以透過 homebrew 直接下載多個版本的 Java,再透過一些取巧的方法來做到的!

# 安裝 JDK11
~ brew cask install adoptopenjdk11

# 安裝好後 一般我們的 java 會被切到最後一個下載的版本
~ java -version

openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)

這個時候如果我想要用 java8 怎麽辦? 我們先來看看一下 java_home 怎麼說

# 請問 java_home 我的 JDK 1.8 在哪裡?
~ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

# 請問 java_home 我的 JDK 11 在哪裡?
~ /usr/libexec/java_home -v 11
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

# 謝謝 java_home
# 這樣我們知道各個版本的 JDK 在哪裡了

# 切回 java 8
~ export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
~ java -version

openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)

# 切回 java 11
~ export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

~ java -version

openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)

如果覺得這樣有點難用,可以編輯到我們的 ~/.bash_profile

# 以後只要輸入 j11 就切到 jdk11
alias j11="export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"

# 以後只要輸入 j8 就切到 jdk8
alias j8="export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"

IntelliJ 說你好

打開我們上次裝好的 IntelliJ (剛裝好應該不會有左邊的區塊)

IntelliJ greeting page 點擊 Create New Project

import jdk 點擊 New... 進入選擇 JDK 頁面

select jdk 資料夾位置在 /Library/Java/JavaVirtualMachines

選擇想要用的 JDK 吧!一開始簡單的 Hello World 用什麼都沒差!

New Project page1

New Project page2

build project name 專案名寫上去 按下 Finish 就建立起來了

IntelliJ blank project 空專案

create class tab 在 src 按右鍵,建立 Java Class

create class 建立一個 Class 命名為 HelloWorld

// HelloWorld.java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello 黏土人");
    }
}

run hello world

hello world output