从命令提示符执行jar文件并双击jar文件时的差异行为

时间:2014-10-27 13:02:20

标签: java jar

我使用的是Windows 7,java 1.6.0_22是我的默认java版本。

我正在使用一个jar文件,它是一个开源jar文件(webscarab-selfcontained-20070504-1631.jar)作为中间代理。

通过双击jar并在java -jar webscarab-selfcontained-20070504-1631.jar命令的命令提示符下执行jar时,我在执行jar文件时会遇到不同的行为。

当我通过设置jar的默认代理命中URL时,能够通过双击执行jar并在使用命令提示符执行jar文件时获得无效响应来获得正确的响应。

请通过双击和命令提示符告诉我执行jar文件的区别...

1 个答案:

答案 0 :(得分:2)

在对此进行更多研究后,我找到了解决方案。

区别,当双击jar文件时,它将选择类路径,并在注册表中更新,在我的情况下,java 7 bin路径在注册表中更新,这使得jar在java7中执行。

从命令提示符执行jar文件时,我将选择我们在环境变量(默认版本)中更新的java版本,这将使jar在java6中执行。 这就是为什么我有两个行为,通过双击和命令提示符执行。

如何更新注册表:(在Windows系统中)

  1. Crt1 + R - >打开运行命令
  2. type regedit
  3. 导航至HKEY_CLASSES_ROOT \ jarfile \ shell \ open \ command
  4. 根据需要更新路径Ex:“C:\ Program Files \ Java \ jre6 \ bin \ javaw.exe”-jar“%1”%*
  5. 现在双击,jar文件将在java6中运行并获得相同的行为.....