2014-10-27 128 views
0

我使用的是Windows 7,而java 1.6.0_22是我的默認java版本。通過命令提示符執行jar文件並雙擊jar文件時的差異行爲

我正在使用一個jar文件,它是一個開源jar文件(webscarab-selfcontained-20070504-1631.jar)作爲中間代理。

當通過雙擊該jar並在java -jar webscarab-selfcontained-20070504-1631.jar命令中執行命令提示符下的jar時執行該jar文件時,我得到了不同的行爲。

當我通過設置jar的默認代理來訪問URL時,當通過雙擊執行jar並通過命令提示執行jar文件時獲得無效響應時,能夠獲得正確的響應。

請讓我知道什麼是雙擊並從命令提示符下執行jar文件的區別...

回答

1

我找到了解決辦法後做這方面的更多研究。

區別在於,當雙擊jar文件時,它將選擇與註冊表中更新的類路徑,在我的情況下,java 7 bin路徑在註冊表中更新,這使得該jar在java7中執行。

從命令提示符處執行jar文件時,我會選擇我們已經在環境變量(默認版本)中更新的java版本,這會使jar在java6中執行。 這就是爲什麼我有兩個行爲通過雙擊和從命令提示符執行。

如何更新註冊表:(在Windows系統)

  1. 鍵Crtl + R - >打開運行命令
  2. 類型註冊表編輯
  3. 導航到HKEY_CLASSES_ROOT \ jar文件\殼\開放\命令
  4. 更新的路徑,只要你想如: 「C:\ Program Files文件\的Java \ JRE6 \ BIN \ javaw.exe的」 罐子 「%1」 %*

現在上雙擊JA r文件將在java6中運行並獲得相同的行爲.....