gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 03:42:10 24 4
gpt4 key购买 nike

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

我使用一个 jar 文件,它是一个开源 jar 文件 (webscarab-selfcontained-20070504-1631.jar) 来充当中间代理。

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

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

请让我知道通过双击执行 jar 文件和从命令提示符执行 jar 文件有什么区别...

最佳答案

经过更多研究后我找到了解决方案。

区别在于,双击 jar 文件时,它会选择在注册表中更新的类路径,在我的例子中,java 7 bin 路径在注册表中更新,这使得 jar 在 java7 中执行。

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

如何更新注册表:(windows系统)

  1. Crtl + R -> 打开运行命令
  2. 输入注册表
  3. 导航至 HKEY_CLASSES_ROOT\jarfile\shell\open\command
  4. 根据需要更新路径,例如:"C:\Program Files\Java\jre6\bin\javaw.exe"-jar "%1"%*

现在双击 jar 文件将在 java6 中运行并获得相同的行为......

关于java - 从命令提示符执行 jar 文件和双击 jar 文件时的行为差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26588190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com