天天看點

相容性測試中如何切換和管理多個JDK版本

本文由作者鄒珍珍授權網易雲社群釋出。

一、測試背景:

  項目對外提供JAR包,需要測試該JAR包對不同JDK版本(1.6至1.9版本)的相容性。下面主要介紹在相容性測試中,JDK多版本共存時如何配置環境變量,以及如何在IDE中切換JDK版本。

  首先說明,在對JAR包進行JDK版本相容性測試的時候,配置環境變量是非必須操作,因為隻要機子上安裝了多個JDK版本,不管是Eclipse還是IDEA都可以手動配置項目所使用的JDK版本。但是,由于大部分JAVA程式都會預設去環境變量中取JAVA_HOME這個變量,比如Eclipse,若不手動去配置會預設使用環境變量中配置的JDK版本,故還是需要知道如何在一台機子上管理多個JDK版本,免得安裝了多個JDK版本後造成一些不必要的麻煩。

二、JDK多版本共存時環境配置

 1. 下載下傳并安裝需要的JDK版本(下載下傳位址)

相容性測試中如何切換和管理多個JDK版本

    測試需要,本人分别下載下傳和安裝了JDK1.9,JDK1.8,JDK1.7和JDK1.6四個版本。

  2. 配置環境變量-建立五個JAVA_HOME。

   JAVA6_HOME:存放JDK1.6的安裝路徑;

   JAVA7_HOME:存放JDK1.7的安裝路徑;

   JAVA8_HOME:存放JDK1.8的安裝路徑;

   JAVA9_HOME:存放JDK1.9的安裝路徑。

   JAVA_HOME:若需JDK1.6版本變量值設為%JAVA6_HOME%,若需1.9版本變量值設為%JAVA9_HOME%,便于切換。

相容性測試中如何切換和管理多個JDK版本

  3. 配置環境變量-建立CLASSPATH,變量值為.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar          

  4. 配置環境變量-Path,新增值為%JAVA_HOME%\bin

  5. 删除自動配置(很重要)

   由于JDK安裝程式會把java.exe,javaw.exe,javareg.exe這三個可執行檔案拷貝到%SystemRoot%/system32目錄下,

   其中JDK1.8版本還會将以上三個可執行檔案拷貝到C:\ProgramData\Oracle\Java\javapath目錄下,

   且以上路徑被作業系統設定為最高優先權的PATH搜尋路徑,是以會影響到JDK版本切換。

相容性測試中如何切換和管理多個JDK版本

   故需要分别删除以下目錄下的三個可執行檔案java.exe,javaw.exe,javareg.exe:

  C:\Windows\System32

  C:\ProgramData\Oracle\Java\javapath

   6. 驗證JDK正确切換

     更換JAVA_HOME内不同的變量值,打開cmd,輸入java -version,檢視版本。

三、IDEA配置多JDK版本

  增加JDK版本: File --> Project Structure --> Platform Settings --> SDKs --> +

相容性測試中如何切換和管理多個JDK版本

  項目更換JDK版本:File --> Project Structure --> Project Settings --> Project

相容性測試中如何切換和管理多個JDK版本

四、修改Maven項目的pom.xml檔案

最後還需要注意,使用的JDK版本更換後,需要在Maven的pom.xml檔案中修改compiler插件-source參數,改為指定的JDK版本,否則會報錯:Error:java: 無效的源版本: 8

報錯原因是,JDK的版本與項目的要求不一緻,源碼編寫使用的是JAVA9文法,但是pom.xml檔案中卻指定源碼通過JDK1.8(-source 1.8)來編譯。

更多網易技術、産品、營運經驗分享請通路網易雲社群。

相關文章:

【推薦】 知物由學 | AI網絡安全實戰:生成對抗網絡

【推薦】 Android标題欄(2)

【推薦】 11月第5周業務風控關注|重磅!瓜子二手車“遙遙領先”被罰天價1250萬

繼續閱讀