【问题标题】:Windows JAVA HOME problemsWindows JAVA HOME 问题
【发布时间】:2009-08-04 17:59:56
【问题描述】:

我正在尝试在我的 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>设置 JAVA_HOME=C:\Prog 文件 (x86)\Java\jdk1.6.0_14

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

【问题讨论】:

  • 带引号和不带引号的输入看起来完全一样。
  • 糟糕。我只是粘贴了错误的窗口。但它也没有引号失败。我会修正编辑。

标签: windows variables environment java-home


【解决方案1】:

问题是由嵌入在您的 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

【讨论】:

    【解决方案2】:

    我在 Windows 系统属性中设置了它,效果很好。

    在 Vista 上:

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

    【讨论】:

      【解决方案3】:

      在这两种情况下,当您尝试调用 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"
      

      【讨论】:

      • 嗨,威尔,感谢您的评论,但这对我没有帮助,因为我没有编写运行 java.exe 的脚本——OHJ 提供了它。
      • 在这种情况下,您一定要遵循 Eric J. 的说明,因为这会在环境变量中设置 JAVA_HOME 变量。
      猜你喜欢
      • 2020-09-21
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 2013-01-27
      相关资源
      最近更新 更多