」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 Homebrew 和 jenv 在 Mac OS X 上管理多個 Java 版本?

如何使用 Homebrew 和 jenv 在 Mac OS X 上管理多個 Java 版本?

發佈於2024-11-08
瀏覽:941

How can I manage multiple Java versions on my Mac OS X using Homebrew and jenv?

在Mac OS X 上管理多個Java 版本

由於Java 管理其安裝的方式,在Mac OS X 上安裝多個Java 版本可能是一項挑戰。不過,有一個解決方案可以讓您輕鬆安裝和管理不同的 Java 版本:Homebrew。

使用 Homebrew 和 jenv

Homebrew 是一個套件管理器,可以簡化軟體的安裝和管理Mac OS X。要使用 Homebrew 管理多個 Java 版本,還需要安裝 Java 版本管理器 jenv。

安裝步驟

  1. 安裝Homebrew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安裝Homebrew jenv:

    brew install jenv
  3. 安裝Homebrew-cask:

    brew install caskroom/cask/homebrew-cask
  4. brew install caskroom/cask/homebrew-cask
  5. [install &&&]

    使用cask 安裝特定的Java版本:
    brew install --cask temurin9
    brew install --cask temurin9
  6. 將此版本加入 jenv 中進行管理:
    brew install --cask temurin9
    jenv add /Library/Java/JavaVirtualMachines/temurin-java9.jdk/Contents/Home
  7. 為您需要的每個 Java 版本重複步驟 4-6。

重要說明
  • 使用以下指令檢查已安裝版本的路徑:/usr/libexec/java_home -V
  • 內建JRE預設路徑:/ Library/Internet\ Plug -Ins/JavaAppletPlugin.plugin/Contents/Home
  • Apple 下載的JDK路徑:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
  • Oracle-downloaded JDK路徑:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home

Resources
  • [從 Mac 移除 Java 8 JDK](&https&]
  • [從 Mac. //apple.stackexchange.com/questions/174783/how-to-completely-remove-java-8-from-mac)
  • [安裝Java 8 並管理多個版本](http://hanxue - it.blogspot.ch/2014/05/installing-java-8-managing-multiple.html)
  • [Mac OS X 設定指南](http://sourabhbajaj.com/mac-setup/)
  • [Homebrew](http://brew.sh/)
  • [Homebrew文件](https://github.com/Homebrew/homebrew/tree/master/share/doc/homebrew #readme)
  • [Homebrew Homebrew-versions](https://github.com/Homebrew/ homebrew-versions)
  • [Homebrew-cask](https://github.com/ caskroom/homebrew-cask)

[jenv](http://www.jenv.be/)How can I manage multiple Java versions on my Mac OS X using Homebrew and jenv?

最新教學 更多>
  • 逐步設定 React 和 Vite
    逐步設定 React 和 Vite
    Vite 是一款現代建立工具,旨在提供快速高效的開發體驗,特別是對於基於 JavaScript 的應用程序,例如 React、Vue 等。 Vite本身更注重開發速度,在開發過程中以最少的配置和更快的載入時間。由於匯總的最佳化,生產建置時間通常也更快 在本教學中,您將逐步學習如何使用 Vite 安...
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 中取得轉換後元素的準確寬度和高度?
    如何在 JavaScript 中取得轉換後元素的準確寬度和高度?
    在變換後檢索寬度和高度當對元素應用諸如旋轉(45deg)之類的變換時,該元素的視覺尺寸改變。但是,JavaScript 中的 width 和 height 屬性仍然反映原始未轉換的尺寸。 解決方案:使用 getBoundingClientRect()要取得轉換後更新的尺寸,請使用HTMLDOMEle...
    程式設計 發佈於2024-11-08
  • 使用 Python 抓取喬治亞州亞特蘭大律師資料的技術指南
    使用 Python 抓取喬治亞州亞特蘭大律師資料的技術指南
    在本指南中,我們將探討如何使用 Python 從法律網站上抓取律師數據,重點關注佐治亞州亞特蘭大的律師。這些資訊對於想要尋找律師、研究律師事務所或收集附近律師資料的人來說非常有價值。我們將使用流行的 Python 庫創建一個強大的抓取工具,可以幫助您收集亞特蘭大地區律師的資訊。 先決條件 在開始之...
    程式設計 發佈於2024-11-08
  • 掌握腳本標籤:使用 Async 和 Defer 進行精確的腳本控制
    掌握腳本標籤:使用 Async 和 Defer 進行精確的腳本控制
    在 Web 開發領域,優化頁面載入時間至關重要。 標籤的兩個強大屬性 - 非同步和延遲 - 可以顯著影響網站的效能。在沒有徹底理解這些屬性的情況下使用它們可能會影響效能並導致錯誤。讓我們從基礎開始,了解這些屬性的作用以及何時使用它們。 基礎知識:腳本如何加載 預設情況下,當瀏覽器...
    程式設計 發佈於2024-11-08
  • JavaScript 中 +=_ 運算子背後的奧秘是什麼?
    JavaScript 中 +=_ 運算子背後的奧秘是什麼?
    解碼JavaScript 中神秘的=_ 運算子JavaScript 中不常見的運算子=_ 讓開發人員感到困惑,讓他們想知道它的真正本質。此運算子結合了賦值運算子 = 和一元加運算子 _。讓我們深入研究它的複雜性並揭開它的用途。 一元加運算子 (_)一元加運算子 ( ) 是一個嘗試轉換其運算元的前綴運...
    程式設計 發佈於2024-11-08
  • CSS Flexbox:建立定價表
    CSS Flexbox:建立定價表
    介紹 CSS Flexbox 是 Web 開發人員創建靈活且響應式佈局的強大工具。 Flexbox 最常見的用例之一是建立定價表,這是許多網站的關鍵元素。在本文中,我們將討論使用 CSS Flexbox 建立定價表的優點和缺點,並探討其一些關鍵功能。 優點 將 C...
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 中格式化具有特定小數位的浮點數?
    如何在 JavaScript 中格式化具有特定小數位的浮點數?
    將浮點數格式化為特定小數位在JavaScript 中,從浮點數轉換為字串可能會導致尾隨小數位。若要限制小數點後的位數,您可以使用特定函數。 舍入函數一種方法是使用舍入函數,例如 toFixed。例如:var number = 0.3445434; console.log(number.toFixed...
    程式設計 發佈於2024-11-08
  • 為什麼我放棄 Python Flask 而選擇 Django:Web 框架對決
    為什麼我放棄 Python Flask 而選擇 Django:Web 框架對決
    當您開始使用 Python Web 開發時,您可能會遇到 Django 和 Python Flask 作為兩個最佳選擇。這兩個框架都有其優點,但根據我的經驗,Django 通常是更好的選擇。 我早期使用 Python Flask 的經歷 當我第一次開始探索 Web 開發時,Pyth...
    程式設計 發佈於2024-11-08
  • React原始碼中MessageChannel的使用
    React原始碼中MessageChannel的使用
    這篇文章我們分析React原始碼中MessageChannel的用法。 我們先來了解什麼是MessageChannel。 訊息頻道 Channel Messaging API 的 MessageChannel 介面允許我們建立一個新的訊息通道並透過它的兩個 MessagePort...
    程式設計 發佈於2024-11-08
  • 掌握 Java 單元測試:&#Student Class Test&# 項目
    掌握 Java 單元測試:&#Student Class Test&# 項目
    透過 LabEx 的學生類測試專案深入單元測試的世界,釋放您作為 Java 開發人員的潛力。這門綜合課程將引導您完成為簡單的 Student 類別編寫有效單元測試的過程,使您能夠編寫更可靠和可維護的程式碼。 介紹 在不斷發展的軟體開發領域,編寫健全且經過良好測試的程式碼的能力變得越...
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 中模擬屬性的 noSuchMethod 功能?
    如何在 JavaScript 中模擬屬性的 noSuchMethod 功能?
    如何在JavaScript 中實現noSuchMethod 屬性功能在JavaScript 中,noSuchMethod在JavaScript 中,noSuchMethod雖然標準 JavaScript 語言中的屬性沒有直接等效項,但可以模擬類似的屬性使用 ECMAScript 6 代理程式的功能。...
    程式設計 發佈於2024-11-08
  • 使用 GitLab CI/CD 和 Terraform 實作 Lambda 以進行 SFTP 整合、Go 中的 S Databricks
    使用 GitLab CI/CD 和 Terraform 實作 Lambda 以進行 SFTP 整合、Go 中的 S Databricks
    通过 Databricks 中的流程自动化降低成本 我的客户需要降低在 Databricks 上运行的流程的成本。 Databricks 负责的功能之一是从各种 SFTP 收集文件,解压缩它们并将它们放入数据湖中。 自动化数据工作流程是现代数据工程的重要组成部分。在本文中,我们将探...
    程式設計 發佈於2024-11-08
  • 為什麼我的 GoLang 網路伺服器無法提供大型 MP4 影片?
    為什麼我的 GoLang 網路伺服器無法提供大型 MP4 影片?
    GoLang HTTP Webserver Serving MP4 Video挑戰使用 GoLang 創建了一個提供 HTML/JS/CSS 和映像的 Web 伺服器。當伺服器嘗試提供 MP4 視訊檔案時,視訊載入失敗,僅顯示視訊控制。 調查檢查視訊檔案後,發現較小的視訊可以正常工作,而較大的視訊則...
    程式設計 發佈於2024-11-08
  • 如何在不使用 HTML 表單的情況下使用 PHP 重新導向網頁並傳送 POST 資料?
    如何在不使用 HTML 表單的情況下使用 PHP 重新導向網頁並傳送 POST 資料?
    使用PHP 重定向和發送POST 資料在這個問題中,我們遇到了一個獨特的挑戰:如何重定向網頁並透過POST 方法不依賴HTML 表單。期望的結果是使用 PHP 腳本將隱藏欄位提交到外部網關。通常,透過GET 傳送資料非常簡單,如下面的程式碼片段所示:header('Location: http://...
    程式設計 發佈於2024-11-08
  • 如何處理JSF表單提交過程中的授權失敗?
    如何處理JSF表單提交過程中的授權失敗?
    JSF 表單提交期間的授權失敗:綜合分析在JSF 應用程式中實現自訂授權機制時,了解頁面導航和表單提交之間的區別至關重要。雖然重定向可以無縫地進行頁面導航,但它們在表單提交期間可能會遇到問題。 問題原因此問題的根本原因在於 JSF 表單提交觸發非同步請求。當發送重定向作為對非同步請求的回應時,JSF...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3