JAVA_HOME 在 Windows 8 上未设置

标签 java windows-8 jruby

我正在使用 Oracle Java 7 和 JRuby(来自 TorqueBox 2.2.0)在 Windows 8 上工作。 在终端中,JAVA_HOME 环境变量有一些奇怪的行为......

如果我输入“set”,我会得到我所期望的:

JAVA_HOME=C:\Program Files (x86)\Java\jre7

例如,我可以运行bundle exec rspec,它会起作用 然后我运行

set COVERAGE=true

再次运行相同的命令,我会得到

Cannot locate Java installation, specified by JAVA_HOME:

我可以多次输入此内容,但总是相同的结果。但神秘的是我有时可以做类似的事情

jruby -S bundle exec spec

有时会起作用...有时不起作用...

这完全是随机且不可预测的......这真的很痛苦! 有人有什么想法吗?从我的角度来看,它看起来像是一个旧的 Windows bug,因为 Windows 7 上一切都很好

已经测试过:

  • 安装 x64 Java 而不是 x86
  • 路径末尾有一个尾随/

最佳答案

这可能与路径内的空格有关。您已经正确定义了它,但某些脚本可能会像这样使用它:

%JAVA_HOME%\bin\java ...

这将会失败。在这种情况下,必须始终记住引号:

"%JAVA_HOME%\bin\java" ...

除非你说行为是随机的......无论如何,尝试将安装移动到名称中没有空格的文件夹,看看它会做什么。

关于JAVA_HOME 在 Windows 8 上未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15546087/

相关文章:

java - 我应该尝试在 Java 项目中重用 Ruby 代码吗?

ruby-on-rails - Google App Engine 上 jRuby on Rails 的 Java 错误

java - 我正在尝试将今天的日期添加到我的对象中,但构造函数出现问题

java - 从文件夹加载类而不指定包

java - 从 java 应用程序到 ffmpeg 子进程的管道系列图像

c# - 如何在 Windows 8 应用程序中使用 c# 添加 facebook rss 提要?

ruby - JRuby 中的 Gem 定义 : Ignore extconf. rb

java - Google Drive API - 创建重复文件夹

c# - 如何绑定(bind)到异步图像源

batch-file - 映射网络驱动器并且无法保存密码