最近更新了kali 系統,把jdk更新到了9.0.4,結果導緻破解burpsuite1.7.32的注冊機不能用了。好像這個注冊機遇到高版本的jdk就不能用了。降低jdk的版本,找了半天,找到了一個完美的解決辦法。
首先去java網站下載下傳jdk包:http://www.oracle.com/technetwork/java/javase/downloads/index.html
然後把jdk包解壓在一個檔案夾裡面:
配置環境變量
export JAVA_HOME=/package/jdk1._80
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
給jdk1.8設定序列号:
先看一下目前的jdk版本号:
root@kali:/package# java -version
openjdk version "9.0.4"
OpenJDK Runtime Environment (build .+-Debian-)
OpenJDK -Bit Server VM (build .+-Debian-, mixed mode)
root@kali:/package#
然後我們設定一下需要的jdk版本:
[email protected]:/package# update-alternatives --config java
有 3 個候選項可用于替換 java (提供 /usr/bin/java)。
選擇 路徑 優先級 狀态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 自動模式
1 /package/jdk1.8.0_161/bin/java 3 手動模式
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手動模式
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 手動模式
要維持目前值[*]請按<Enter鍵>,或者鍵入選擇的編号:1
update-alternatives: 使用 /package/jdk1.8.0_161/bin/java 來在手動模式中提供 /usr/bin/java (java)
[email protected]:/package#
注意:
- debian下的這個軟體版本管理工具叫 update-alternatives
- 給某版本軟體設定序列号時,install選項的參數是這樣的:
path一定要指向一個可執行的名字叫java的腳本,比如上面的:/package/jdk1.8.0_161/bin/java
在使用update-alternatives 的過程中,我發現了一些不算問題的問題。
在上面的教程中,我們通過該指令在/usr/bin 目錄下建立可執行檔案的軟連結,比如在/usr/bin目錄下建立gcc, jdk的軟連結,進而達到改變gcc,jdk版本的問題。但是如果你自己手動按轉一個版本的gcc在/usr/local/bin 目錄下,并且可執行檔案的名字也叫gcc,那麼你會發現,update-alternative 不再起作用了,無論怎麼修改,gcc指令都是我們自己安裝的哪個版本。這是因為/usr/local/bin 目錄的優先級高于/usr/bin , 二者都在path 環境變量裡,一旦兩個目錄裡都有叫做gcc的可執行檔案,系統就會優先使用/usr/local/bin 目錄下的可執行檔案。這種情況下無論怎樣修改/usr/bin 目錄下的軟連結都不會起作用了。