4

我正在尝试在我的 Windows Vista 服务器上使用 OracleHelp for Java。我下载了 Oracle 帮助,并按照他们的安装说明进行操作,其中指出:

  • 将 OHJ 安装 .zip 文件解压缩到您选择的目录中
  • 确保将 JAVA_HOME 环境变量设置为兼容的 Java SE 安装位置
  • 在 OHJ 安装目录中,有一个 bin 子目录,其中包含 Windows .cmd 文件和 Unix/Linux shell 脚本。在 Windows 平台上,双击 .cmd 文件以启动它们(或在命令行中键入 .cmd 文件名)。在 Unix 平台上,键入“sh scriptName.sh”以执行 shell 脚本。

    • ohguide.cmd (ohguide.sh) - 启动 Oracle 帮助指南文档
    • choiceDemo.cmd (choiceDemo.sh) - 启动 Oracle 帮助功能的演示
    • cshDemo.cmd (cshDemo.sh) - 启动上下文相关帮助的演示
    • helpsetDemo.cmd (helpsetDemo.sh) - 启动 Helpset Previewer 以测试您的 helpset
    • authoringWizard.cmd (authoringWizard.bat) - 启动帮助集创作向导

当我在 Windows 上设置 JAVA_HOME 时,我可以使用或不使用引号来设置它。无论哪种方式都失败:

带引号:

C:\Users\Amir\Desktop\ohj-5_0_0_433\ohj-5_0_0_433\bin>set JAVA_HOME="C:\Program
Files (x86)\Java\jdk1.6.0_14"
C:\Users\Amir\Desktop\ohj-5_0_0_433\ohj-5_0_0_433\bin>ohguide.cmd
C:\Users\Amir\Desktop\ohj-5_0_0_433\ohj-5_0_0_433>""C:\Program Files (x86)\Java\
jdk1.6.0_14"\bin\java.exe" -classpath "ohj.jar;help-share.jar;oracle_ice.jar;jew
t.jar;share.jar;help-demo.jar" oracle.help.demo.ChoiceDemo "demodoc\ohguide\ohgu
ide.hs"
'""C:\Program' is not recognized as an internal or external command,
operable program or batch file.

不带引号:

C:\Users\Amir\Desktop\ohj-5_0_0_433\ohj-5_0_0_433\bin>set JAVA_HOME=C:\Prog iles (x86)\Java\jdk1.6.0_14

C:\Users\Amir\Desktop\ohj-5_0_0_433\ohj-5_0_0_433\bin>ohguide.cmd 'Files' 不是内部或外部命令、可运行程序或批处理文件。未找到 Java 虚拟机;请设置 JAVA_HOME 环境变量。

4

3 回答 3

9

该问题是由嵌入在您的 JAVA_HOME 中的空白引起的。在 Windows 上安装 JDK 时,我使用不包含任何空格的目录路径覆盖安装位置。仍然有数量惊人的工具无法处理空格。

在您的特定情况下,由 _init.cmd 和 ohguide.cmd 之间的不一致引起的问题。在一个地方,它们在使用 OHJ_JAVA_HOME 周围有双引号,而在另一种情况下,它们没有双引号。

但是有一个解决方案 - 使用目录的缩写名称。您可以在 DOS 窗口中使用 DIR /X 命令找到该名称。例如,在我的系统上,“C:\Program Files”的简称为“C:\Proga~1”。您可以在设置 JAVA_HOME 时使用此值,无需任何引号。例如

set JAVA_HOME=c:\progra~1\java\jdk1.6.0_14
于 2009-09-17T16:01:58.310 回答
3

我在 Windows 系统属性中设置它并且工作正常。

在 Vista 上:

  1. 单击开始按钮(Windows 徽标,左下角)
  2. 右键单击计算机
  3. 选择属性
  4. 选择高级系统设置(左侧选项)
  5. 选择环境变量(按钮)
  6. 添加(或编辑)系统变量 JAVA_HOME
  7. 输入您的 JAVA_HOME,不带任何引号
  8. 添加到 PATH 系统变量以包含 JDK 的路径(因此您不必担心如何引用它。
  9. 您可能还想扩展您的 CLASSPATH 系统变量以包含您将在命令行上指定的变量(可选)
于 2009-08-04T18:15:53.477 回答
1

在这两种情况下,当您尝试调用 java 可执行文件时,您使用的引号过多。

在您的代码中:

C:\Users\Amir\Desktop\ohj-5_0_0_433\ohj-5_0_0_433>""C:\Program Files (x86)\Java\
jdk1.6.0_14"\bin\java.exe" -classpath "ohj.jar;help-share.jar;oracle_ice.jar;jew
t.jar;share.jar;help-demo.jar" oracle.help.demo.ChoiceDemo "demodoc\ohguide\ohgu
ide.hs"

应该:

C:\Users\Amir\Desktop\ohj-5_0_0_433\ohj-5_0_0_433>"C:\Program Files (x86)\Java\
jdk1.6.0_14\bin\java.exe" -classpath "ohj.jar;help-share.jar;oracle_ice.jar;jew
t.jar;share.jar;help-demo.jar" oracle.help.demo.ChoiceDemo "demodoc\ohguide\ohgu
ide.hs"
于 2009-08-04T18:26:27.697 回答