如何在 Mac 上安裝 Java
MacOS 用戶可以運(yùn)行 Java 的開源版本,以及用于云原生cloud native開發(fā)的新框架。
五月底,Java 慶祝了它的 25 周年紀(jì)念日,為了紀(jì)念這一時(shí)刻,世界各地的開發(fā)人員使用 #MovedByJava 這一標(biāo)簽分享他們使用這一編程語(yǔ)言的成就、記憶以及愿景。
我的時(shí)間線:
- 我的時(shí)間線:
- 1999 開始學(xué)習(xí) Java
- 2007 創(chuàng)建 @grailsframework
- 2008 共同創(chuàng)建 G20ne
- 2009 被 SpringSource 收購(gòu)
- 2015 加入 @ObjectComputing
- 2018 創(chuàng)建 @micronautfw / 獲得 @groundbreakers 獎(jiǎng)
- 2019 成為 @Java_Champions
- 感謝你 @java!#MovedByJava
- — Graeme Rocher (@graemerocher) 2020年5月21日
多年來(lái),許多技術(shù)和趨勢(shì)都促進(jìn)了 Java 堆棧的開發(fā)、部署和在標(biāo)準(zhǔn)應(yīng)用程序服務(wù)器上運(yùn)行多個(gè)應(yīng)用的能力。為 Kubernetes 構(gòu)建容器鏡像使得 Java 開發(fā)者可以在多個(gè)云環(huán)境中打包和部署微服務(wù)microservices,而不是在虛擬機(jī)上運(yùn)行幾個(gè)應(yīng)用程序服務(wù)器。
有了這些技術(shù),Java 應(yīng)用程序棧被優(yōu)化為運(yùn)行更大的堆和可以在運(yùn)行時(shí)做出決策的高動(dòng)態(tài)框架。然而不幸的是,這些努力還不足以使 Java 成為開發(fā)人員為無(wú)服務(wù)器serverless和事件驅(qū)動(dòng)平臺(tái)開發(fā)云原生cloud native Java 應(yīng)用程序的首選編程語(yǔ)言。其他語(yǔ)言填補(bǔ)了這部分空缺,特別是 JavaScript、Python 和 Go,而 Rust 和 WebAssembly 也成了新的選擇。
盡管存在這種競(jìng)爭(zhēng),云原生 Javacloud native Java 正在對(duì)以云為中心的軟件開發(fā)產(chǎn)生影響。好在,新的 Java 框架(比如,Quarkus、Micronaut 和 Helidon)最近已經(jīng)戰(zhàn)勝了這些挑戰(zhàn),它們提供了編譯速度更快而且更小的應(yīng)用,同時(shí)它們?cè)谠O(shè)計(jì)之初就將分布式系統(tǒng)考慮了進(jìn)去。
如何在 macOS 上安裝 Java
Java 開發(fā)的未來(lái)將從更多人安裝和使用 Java 開始。因此,我將介紹如何在 macOS 上安裝并開始使用 Java 開發(fā)環(huán)境。(如果你運(yùn)行的是 Linux,請(qǐng)查看 Seth Kenlon 的文章《如何在 Linux 上安裝 Java》)
通過 Brew 倉(cāng)庫(kù)安裝 OpenJDK
Homebrew 是 macOS 事實(shí)上的標(biāo)準(zhǔn)軟件包管理器。如果你還沒有安裝的話,Matthew Broberg 的文章《Homebrew 簡(jiǎn)介》將帶你完成這些步驟。
當(dāng)你在 Mac 上安裝好 Homebrew 后,使用 brew 命令安裝 OpenJDK,這是編寫 Java 應(yīng)用程序的開源方式:
- $ brew cask install java
不到一分鐘就能看到:
- java was successfully installed!
通過 java -version 命令確認(rèn) OpenJDK 已經(jīng)正確安裝:
- $ java -version
- openjdk version "14.0.1" 2020-04-14
- OpenJDK Runtime Environment (build 14.0.1+7)
- OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing
從輸出中可以確認(rèn) OpenJDK 14 (本文撰寫時(shí)的最新版本)已經(jīng)安裝。
從二進(jìn)制文件安裝 OpenJDK
如果你并不熱衷于包管理器,并且更愿意自己來(lái)管理 Java 的話,那么你總是可以選擇下載并且手動(dòng)安裝。
我在 OpenJDK 主頁(yè)上找到了最新版本的下載鏈接。下載 OpenJDK 14 的二進(jìn)制文件:
- $ wget https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_osx-x64_bin.tar.gz
移動(dòng)到你保存二進(jìn)制文件的目錄,然后解壓:
- $ tar -xf openjdk-14.0.1_osx-x64_bin.tar.gz
接下來(lái),將 Java 加入到你的 PATH:
- $ export PATH=$PWD/jdk-14.0.1.jdk/Contents/Home/bin:$PATH
同時(shí),將這條命令加到你的點(diǎn)文件中,.bash_profile 還是 .zshrc 取決于你運(yùn)行的 shell。你可以在《如何在 Linux 中設(shè)置你的 PATH 變量][23]》一文中了解更多關(guān)于配置 `PATH變量][23]》一文中了解更多關(guān)于配置‘》一文中了解更多關(guān)于配置 $PATH 變量的內(nèi)容。
最后,驗(yàn)證你安裝的 OpenJDK 14:
- $ java -version
- openjdk version "14.0.1" 2020-04-14
- OpenJDK Runtime Environment (build 14.0.1+7)
- OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
在 Mac 上編寫你的第一個(gè)微服務(wù)microservices
現(xiàn)在,你已經(jīng)準(zhǔn)備好在 maxOS 上使用 OpenJDK 堆棧開發(fā)云原生cloud native Java 應(yīng)用程序了。在本教程中,你將在 Quarkus 上創(chuàng)建一個(gè)新的 Java 項(xiàng)目,這個(gè)項(xiàng)目使用依賴注入dependency injection來(lái)公布 REST API。
你需要 Maven 啟動(dòng),它是一個(gè)非常流行的 Java 依賴管理器。從 Maven 的網(wǎng)站安裝它,或者通過 Homebrew 使用 brew install maven 命令。
執(zhí)行以下 Maven 命令來(lái)配置 Quarkus 項(xiàng)目,并且創(chuàng)建一個(gè)簡(jiǎn)單的 web 應(yīng)用:
- $ mvn io.quarkus:quarkus-maven-plugin:1.5.1.Final:create \
- -DprojectGroupId=com.example \
- -DprojectArtifactId=getting-started \
- -DclassName="com.example.GreetingResource" \
- -Dpath="/hello"
- cd getting-started
運(yùn)行這個(gè)應(yīng)用:
- $ ./mvnw quarkus:dev
當(dāng)應(yīng)用程序運(yùn)行的時(shí)候,你可以看到這個(gè)輸出:
- __ ____ __ _____ ___ __ ____ ______
- --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
- -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
- \--\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/
- 2020-06-13 00:03:06,413 INFO [io.quarkus] (Quarkus Main Thread) getting-started 1.0-SNAPSHOT on JVM (powered by Quarkus 1.5.1.Final) started in 1.125s. Listening on: <http://0.0.0.0:8080>
- 2020-06-13 00:03:06,416 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
- 2020-06-13 00:03:06,416 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy]
使用 curl 命令訪問 REST 端點(diǎn):
- $ curl -w "\n" http://localhost:8080/hello
- hello
恭喜!通過使用 Mavan 和 Quarkus,你很快從沒有安裝 Java 的環(huán)境里創(chuàng)建了第一個(gè) web 應(yīng)用。
接下來(lái)用 Java 做什么
Java 是一個(gè)成熟的編程語(yǔ)言,通過專門為云原生cloud native應(yīng)用程序開發(fā)設(shè)計(jì)的新框架,Java 的熱度會(huì)一直持續(xù)下去。
如果你正走在這樣構(gòu)建未來(lái)應(yīng)用的路上,你可能會(huì)對(duì)更多實(shí)用的 Quarkus 開發(fā)課程或其他現(xiàn)代化框架感興趣。無(wú)論你在構(gòu)建什么,下一步是配置你的文本編輯器。閱讀我關(guān)于《在 VS Code 用 Quarkus 編寫 Java》的教程,然后再看看你能做什么。