【Java】【Git Bash】在專案中管理多個 JDK 版本

更新於 發佈於 閱讀時間約 2 分鐘

前言

開始加入新專案的摸索,同時也要維護舊專案,因此我的本機有JDK1.8JDK17

如果用的是最新版的IntelliJ IDEAEclipse,可以分專案去設定:如果用得是VScode,擴充套件裝一裝後,使用者設定也可以為不同的JDK另外配置指定路徑。

但...
我還是想做到最輕量的配置,尤其是每當在找設定位置迷失在密密麻麻的圖形化介面時,或是一個按鈕按下去,拋出各種Error stack卻又東缺一點西缺一點的時候,以及網路上找各種解答、丟AI也找不太到確切問題原因的時候,反而下個指令要求verbose,訊息早就跟你講得很詳盡了。

於是我找到了目前對我來說最輕量的解法:配置.bashrc


什麼是環境變數

環境變數是作業系統用來儲存與作業環境相關的參數或設置的變數。這些變數用於向應用程序或腳本提供運行時所需的信息和配置。環境變數可以包含各種信息,例如路徑、用戶名、主機名、設定選項等等。


環境變數的用途

  • 路徑設定:環境變數可以包含可執行文件的路徑,例如 PATH 變數。這樣在終端中輸入命令時,系統就會在指定的路徑中查找可執行文件。
  • 應用程序設定:環境變數可以用來儲存應用程序的配置選項,例如 Java 的 JAVA_HOME 變數,它告訴系統 Java 安裝的路徑。
  • 臨時信息:環境變數可以用來儲存臨時的信息或狀態,例如 TEMP 或 TMP 變數,用於指定臨時文件的存儲目錄。


實際做法

  1. 開啟Git Bash,切換到home目錄底下
  2. 建立一個.bashrc檔案
  3. .bashrc加入下列內容
export JAVA_HOME=/path/to/yourjdk   # 設置JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH ​ # 設置PATH變數


儲存後,記得重開Git Bash確保新的sessionGit Bash會在開啟時載入.bashrc中的指令運行。

換句話說每次開啟時,會先重新設置好JAVA_HOME及加入到PATH變數。完成之後記得確認一下當下是否有使用到預期的java版本。


其他小細節

  1. mavenJAVA_HOME切換後就能找到正確的版本,可以下mvn --version確認
  2. bash路徑顯示同Linux/,而window上使用\,有可能沒轉換到而失效
  3. 切換後,舊版Eclipse連啟動都壞了,要在eclipse.ini中設置JDK
-vm
C:\path\to\jdk\bin\javaw.exe # 順序要在vmargs之前

-vmargs
-Dosgi.requiredJavaVersion=1.8




avatar-img
12會員
71內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Err500 的其他內容
這篇文章記錄了作者將一個小專案移植到JBoss,並使用MyBatis框架進行資料庫操作的過程和遇到的問題。文章詳細描述了MyBatis框架的功能、優缺點,以及作者在使用Annotation和XML配置時遇到的問題,並分享瞭解決方法。
說明如何修改 bash 的顯示設定
本文深入淺出地介紹Java的main方法,包含方法簽名、存取修飾子(public、private)、靜態關鍵字static、回傳值、傳入參數等重要概念,並以實際範例和圖解說明JVM如何尋找並執行main方法,以及static區塊的執行順序。
今天在解衝突的時候,同事提到了做merge指令時跟在Gitlab上提交merge request的時候是情況是相反的,我想他或許也沒探究過原因。 曾經我也很疑惑為什麼大家都是說發PR,但是越想越不對勁: PR的P指的是pull,為什麼是用拉pull而不是用推push?
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
學習Spring Boot是Java工程師必備技能,文章分享瞭如何自學並快速上手Spring Boot開發,包括架構、開發工具、專案建立以及實作過程。
這篇文章記錄了作者將一個小專案移植到JBoss,並使用MyBatis框架進行資料庫操作的過程和遇到的問題。文章詳細描述了MyBatis框架的功能、優缺點,以及作者在使用Annotation和XML配置時遇到的問題,並分享瞭解決方法。
說明如何修改 bash 的顯示設定
本文深入淺出地介紹Java的main方法,包含方法簽名、存取修飾子(public、private)、靜態關鍵字static、回傳值、傳入參數等重要概念,並以實際範例和圖解說明JVM如何尋找並執行main方法,以及static區塊的執行順序。
今天在解衝突的時候,同事提到了做merge指令時跟在Gitlab上提交merge request的時候是情況是相反的,我想他或許也沒探究過原因。 曾經我也很疑惑為什麼大家都是說發PR,但是越想越不對勁: PR的P指的是pull,為什麼是用拉pull而不是用推push?
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
學習Spring Boot是Java工程師必備技能,文章分享瞭如何自學並快速上手Spring Boot開發,包括架構、開發工具、專案建立以及實作過程。
你可能也想看
Google News 追蹤
Thumbnail
此章節旨在引導讀者如何建立Java開發環境,包括安裝JDK、使用命令行工具編寫和運行Java程式,以及如何在Visual Studio Code、IntelliJ IDEA和Eclipse等IDE中設置和使用Java環境。
Thumbnail
此章節旨在介紹Java的基本語法、註解和變數的使用。透過學習,讀者將了解Java程式的基本結構、程式進入點的定義、如何撰寫單行和多行註解,以及如何宣告和初始化變數。
Thumbnail
這篇文章的目的是對Java程式設計語言進行介紹,包括它的特性、應用範疇、主要使用者,以及相關的學習資源和常見的庫與框架。此外,它也提供了一些學習Java的渠道,以及與Java相關的其他知識。
Windows : 下載Git (git-scm.com)並按照指示安裝。 安裝完成後,你可以通過運行以下命令來確認安裝是否成功: git --version 初次設定GIT 接下來就是按照初次設定git,會需要配置你的用戶名和電子郵件地址,這些信息將被記錄在您提交的每個變更中。 git
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
建立Maven專案 於pom.xml設定Spring Boot <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
Thumbnail
由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。
Thumbnail
Install Java (OpenJDK) on Ubuntu: sudo apt update && sudo apt -y install default-jdk java -version Add repository and install DBeaver CE: curl -
Thumbnail
npm 做為 node 套件版本管理工具,今天來學習如何使用 npm 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 npm version --new-version major 範例 v1.0.0 -> v2.0.0 mi
Thumbnail
此章節旨在引導讀者如何建立Java開發環境,包括安裝JDK、使用命令行工具編寫和運行Java程式,以及如何在Visual Studio Code、IntelliJ IDEA和Eclipse等IDE中設置和使用Java環境。
Thumbnail
此章節旨在介紹Java的基本語法、註解和變數的使用。透過學習,讀者將了解Java程式的基本結構、程式進入點的定義、如何撰寫單行和多行註解,以及如何宣告和初始化變數。
Thumbnail
這篇文章的目的是對Java程式設計語言進行介紹,包括它的特性、應用範疇、主要使用者,以及相關的學習資源和常見的庫與框架。此外,它也提供了一些學習Java的渠道,以及與Java相關的其他知識。
Windows : 下載Git (git-scm.com)並按照指示安裝。 安裝完成後,你可以通過運行以下命令來確認安裝是否成功: git --version 初次設定GIT 接下來就是按照初次設定git,會需要配置你的用戶名和電子郵件地址,這些信息將被記錄在您提交的每個變更中。 git
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
建立Maven專案 於pom.xml設定Spring Boot <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
Thumbnail
由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。
Thumbnail
Install Java (OpenJDK) on Ubuntu: sudo apt update && sudo apt -y install default-jdk java -version Add repository and install DBeaver CE: curl -
Thumbnail
npm 做為 node 套件版本管理工具,今天來學習如何使用 npm 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 npm version --new-version major 範例 v1.0.0 -> v2.0.0 mi