兼容性測(cè)試中如何切換和管理多個(gè)JDK版本

本文由作者鄒珍珍授權(quán)網(wǎng)易云社區(qū)發(fā)布摩窃。


一、測(cè)試背景:

? 項(xiàng)目對(duì)外提供JAR包爽茴,需要測(cè)試該JAR包對(duì)不同JDK版本(1.6至1.9版本)的兼容性灾锯。下面主要介紹在兼容性測(cè)試中兢榨,JDK多版本共存時(shí)如何配置環(huán)境變量,以及如何在IDE中切換JDK版本顺饮。

? 首先說明色乾,在對(duì)JAR包進(jìn)行JDK版本兼容性測(cè)試的時(shí)候,配置環(huán)境變量是非必須操作领突,因?yàn)橹灰獧C(jī)子上安裝了多個(gè)JDK版本,不管是Eclipse還是IDEA都可以手動(dòng)配置項(xiàng)目所使用的JDK版本案怯。但是君旦,由于大部分JAVA程序都會(huì)默認(rèn)去環(huán)境變量中取JAVA_HOME這個(gè)變量,比如Eclipse,若不手動(dòng)去配置會(huì)默認(rèn)使用環(huán)境變量中配置的JDK版本金砍,故還是需要知道如何在一臺(tái)機(jī)子上管理多個(gè)JDK版本局蚀,免得安裝了多個(gè)JDK版本后造成一些不必要的麻煩。

二恕稠、JDK多版本共存時(shí)環(huán)境配置

?1. 下載并安裝需要的JDK版本下載地址

?

? ? 測(cè)試需要琅绅,本人分別下載和安裝了JDK1.9,JDK1.8,JDK1.7和JDK1.6四個(gè)版本。

? 2. 配置環(huán)境變量-創(chuàng)建五個(gè)JAVA_HOME鹅巍。

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

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

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

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

? ?JAVA_HOME:若需JDK1.6版本變量值設(shè)為%JAVA6_HOME%,若需1.9版本變量值設(shè)為%JAVA9_HOME%敛苇,便于切換妆绞。

?

? 3.?配置環(huán)境變量-創(chuàng)建CLASSPATH,變量值為.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar? ? ? ? ??

? 4.?配置環(huán)境變量-Path枫攀,新增值為%JAVA_HOME%\bin

??5.?刪除自動(dòng)配置(很重要)

? ?由于JDK安裝程序會(huì)把java.exe括饶,javaw.exe,javareg.exe這三個(gè)可執(zhí)行文件拷貝到%SystemRoot%/system32目錄下来涨,

? ?其中JDK1.8版本還會(huì)將以上三個(gè)可執(zhí)行文件拷貝到C:\ProgramData\Oracle\Java\javapath目錄下图焰,

? ?且以上路徑被操作系統(tǒng)設(shè)置為最高優(yōu)先權(quán)的PATH搜索路徑,因此會(huì)影響到JDK版本切換扫夜。

?

? ?故需要分別刪除以下目錄下的三個(gè)可執(zhí)行文件java.exe楞泼,javaw.exe,javareg.exe:

  • ? C:\Windows\System32

  • ? C:\ProgramData\Oracle\Java\javapath

? ?6. 驗(yàn)證JDK正確切換

? ? ?更換JAVA_HOME內(nèi)不同的變量值笤闯,打開cmd堕阔,輸入java -version,查看版本颗味。


三超陆、IDEA配置多JDK版本

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

? 項(xiàng)目更換JDK版本:File --> Project Structure?-->?Project Settings?-->?Project

四、修改Maven項(xiàng)目的pom.xml文件

最后還需要注意浦马,使用的JDK版本更換后时呀,需要在Maven的pom.xml文件中修改compiler插件-source參數(shù),改為指定的JDK版本晶默,否則會(huì)報(bào)錯(cuò):Error:java: 無效的源版本: 8

報(bào)錯(cuò)原因是谨娜,JDK的版本與項(xiàng)目的要求不一致,源碼編寫使用的是JAVA9語法磺陡,但是pom.xml文件中卻指定源碼通過JDK1.8(-source 1.8)來編譯趴梢。

<plugin>
????<groupId>org.apache.maven.plugins</groupId>
????<artifactId>maven-compiler-plugin</artifactId>
????<version>3.1</version>
????<configuration>
????????<source>1.8</source>?<!--?源代碼使用的開發(fā)版本?-->
????????<target>1.8</target>?<!--?需要生成的目標(biāo)class文件的編譯版本?-->

????????<!--?這下面的是可選項(xiàng)?-->
????????<meminitial>128m</meminitial>
????????<maxmem>512m</maxmem>
????????<fork>true</fork>?<!--?fork?is?enable,用于明確表示編譯版本配置的可用?-->?
????????<compilerVersion>1.8</compilerVersion>

????????<!--?這個(gè)選項(xiàng)用來傳遞編譯器自身不包含但是卻支持的參數(shù)選項(xiàng)?-->
????????<compilerArgument>-verbose?-bootclasspath?${java.home}\lib\rt.jar</compilerArgument>

????</configuration>
</plugin


更多網(wǎng)易技術(shù)漠畜、產(chǎn)品、運(yùn)營經(jīng)驗(yàn)分享請(qǐng)?jiān)L問網(wǎng)易云社區(qū)坞靶。

相關(guān)文章:
【推薦】?【譯文】為什么用戶體驗(yàn)文案在產(chǎn)品設(shè)計(jì)中如此重要憔狞?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市彰阴,隨后出現(xiàn)的幾起案子瘾敢,更是在濱河造成了極大的恐慌,老刑警劉巖尿这,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件簇抵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡妻味,警方通過查閱死者的電腦和手機(jī)正压,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來责球,“玉大人焦履,你說我怎么就攤上這事〕猓” “怎么了嘉裤?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)栖博。 經(jīng)常有香客問我屑宠,道長(zhǎng),這世上最難降的妖魔是什么仇让? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任典奉,我火速辦了婚禮,結(jié)果婚禮上丧叽,老公的妹妹穿的比我還像新娘卫玖。我一直安慰自己,他們只是感情好踊淳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布假瞬。 她就那樣靜靜地躺著,像睡著了一般迂尝。 火紅的嫁衣襯著肌膚如雪脱茉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天垄开,我揣著相機(jī)與錄音琴许,去河邊找鬼。 笑死溉躲,一個(gè)胖子當(dāng)著我的面吹牛虚吟,可吹牛的內(nèi)容都是我干的寸认。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼串慰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了唱蒸?” 一聲冷哼從身側(cè)響起邦鲫,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎神汹,沒想到半個(gè)月后庆捺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屁魏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年滔以,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氓拼。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡你画,死狀恐怖桃漾,靈堂內(nèi)的尸體忽然破棺而出坏匪,到底是詐尸還是另有隱情撬统,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布恋追,位于F島的核電站,受9級(jí)特大地震影響苦囱,放射性物質(zhì)發(fā)生泄漏嗅绸。R本人自食惡果不足惜沿彭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喉刘。 院中可真熱鬧,春花似錦睦裳、人聲如沸造锅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哥蔚。三九已至倒谷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間糙箍,已是汗流浹背渤愁。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留深夯,地道東北人抖格。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像咕晋,于是被迫代替她去往敵國和親雹拄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 精心收集整理的教程筆記 第01天 Java基礎(chǔ)入門 第1章計(jì)算機(jī)基礎(chǔ) 1.1計(jì)算機(jī) 計(jì)算機(jī)(computer)俗稱...
    Java幫幫閱讀 5,960評(píng)論 1 109
  • 一掌呜、JDK的安裝 1滓玖、Java-Package choose 上述文檔翻譯: JDK:針對(duì)Java開發(fā)者(Java...
    7葉閱讀 1,388評(píng)論 1 2
  • 當(dāng)你認(rèn)為有一件東西或者一個(gè)人成為你的“唯一”的時(shí)候,很不幸你已經(jīng)被他綁架质蕉。你會(huì)特別恐懼失去它势篡,失去了之后你的...
    小冷小姐閱讀 283評(píng)論 0 2
  • 梅子 加入了蟲蟲的“自信三步走講座2群”汰蓉,除了蟲蟲的講師階段分析绷蹲,講座設(shè)計(jì)外,還有一大撥甜點(diǎn)顾孽,就是助教講師們的分享...
    藝凌老師閱讀 257評(píng)論 0 0