Java6和Java8在Windows上共存

0x00 需求

  最近在作一個Android的項目,一開始安裝的是Java8用於項目的開發。可是在項目後期須要用到drozer用於檢測項目的安全性,要搭建drozer的測試環境必需要使用Java6,不然會出現問題引用一下官方的說明java

It is very important that Java 1.6 is installed and used. This is because Android bytecode is only compliant to
version 1.6 and not higher versions. Making use of any version of javac other than 1.6 will result in errors during
compilation that look similar to the following:安全

trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing ClassLoadTest.class
...while processing ClassLoadTest.class
1 warning
no classfiles specified
Error whilst building APK bundle.測試

0x01 解決方法

  1. 第一步:下載兩個不一樣版本的Java,而後分別的安裝。(我安裝的時候使用的是默認的安裝路徑,固然你也能夠自定義安裝路徑)ui

  2. 第二步:下面就是要對環境變量進行配置了,個人電腦-->右鍵-->屬性,選擇高級系統設置-->環境變量。spa

  

  

  3. 選擇用戶的環境變量中的path,刪除其中的‘C:\ProgramData\Oracle\Java\javapath;’環境變量,若是不刪除則會出現問題,在輸入 java -version 時顯示的會一直是先安裝的那個版本的Java。code

  4. 配置Java6和Java8的環境變量blog

     在系統變量中新建兩個系統變量分別是JAVA6_HOME和JAVA8_HOME,在新建時選擇它們各自對應的安裝路徑。ci

  

      

  5. 設置CLASSPATH環境變量開發

  同4新建一個系統變量變量名稱爲CLASSPATH,變量值爲:cmd

 

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 

  注意要將前面的「.」也要複製進去。

  6. 完成系統的Java的設置

  在系統變量中新建一個變量名爲JAVA_HOME的環境變量,變量的值爲JAVA6_HOME或者JAVA8_HOME。而後選擇系統變量中的path,在變量值後添加以下代碼

  

Windows7中的配置:
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 
Windows10中的配置:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

  7. 刪除C:\Windows\System32下的java.exe、javaw.exe、javaws.exe三個文件。

0x02 測試

  當JAVA_HOME的變量值爲JAVA6_HOME時:

  當JAVA_HOME的變量值爲JAVA8_HOME時:

0x03 注意事項

  1. 必定要刪除在用戶變量中的‘C:\ProgramData\Oracle\Java\javapath;’
  2. 必定要刪除system32中的三個帶有Java的exe文件
  3. 在修改JAVA_HOME的變量值後要一路肯定到底,而後退出當前的cmd命令窗口環境變量纔會生效
相關文章
相關標籤/搜索