Windows 7 如何解决Windows7Java运行时路径问题?

Windows 7 如何解决Windows7Java运行时路径问题?,windows-7,java,Windows 7,Java,我有一个现成的软件工具,是用Java开发的。该软件需要相当大的内存,因此必须使用-xmx1024mjava选项运行,否则会崩溃。客户将运行名为start.jar的程序,该程序的唯一命令是运行系统命令“java-Xmx1024M-jarmyprogram.jar” 这在Windows XP和Vista中有效,但是最新的Windows 7 Java更新没有将Java/bin目录放在系统路径中。这导致命令行报告java不是可识别的命令 我的问题是如何最好地解决这个问题?我意识到我可以向客户说明如何将其

我有一个现成的软件工具,是用Java开发的。该软件需要相当大的内存,因此必须使用-xmx1024mjava选项运行,否则会崩溃。客户将运行名为start.jar的程序,该程序的唯一命令是运行系统命令“java-Xmx1024M-jarmyprogram.jar”

这在Windows XP和Vista中有效,但是最新的Windows 7 Java更新没有将Java/bin目录放在系统路径中。这导致命令行报告java不是可识别的命令


我的问题是如何最好地解决这个问题?我意识到我可以向客户说明如何将其java/bin目录放入系统路径,但我认为这要求太高了(目标客户在技术上并不熟练)。

给他们一个批处理文件来运行如何?
这可能会将Java置于系统路径中(如果还没有),然后使用-Xmx1024M arg启动Java。您可以使用Java可执行包装器,如或。

,而不是使用前面提到的使用可执行包装器的建议,我不认为有任何好的解决方案不涉及重写到一个开始脚本中,他们已经在包装中的那种逻辑。这往往包括搜索系统路径、注册表(HKLM\Software\JavaSoft\Java Runtime Environment)中的“正确安装”版本,以及JRE的“公共位置”,并根据您告诉包装器的配置是最小JRE的内容选择适当的位置,是否选择最新版本等。重写此逻辑似乎并不是在浪费时间,但这取决于您:)


另一种选择(取决于许可问题)是在应用程序旁边的子目录中分发一份JRE副本,以便您始终知道它在哪里以及它使用的版本。显然,这有点浪费,可能意味着在正常的桌面维护/升级周期之外使用软件,但它可能会给您带来更多的控制/便利。

我看到的问题是确定要为系统路径添加什么价值。大多数人的bin目录位于C:\Program Files\Java\jre6,但有些人的bin目录位于Program Files(x86)目录,而其他人的bin目录则位于不同的驱动器中。我不确定如何处理的另一个问题是,如果有多个JRE,或者发布了新版本,则确定要选择哪个目录。他们的Java文件夹可能命名为jre6,也可能类似于jre1.6.0_17。