微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Windows中为Ruby和RJB设置JAVA_HOME环境variables

尽pipe在Windows中设置JAVA_HOMEvariables似乎存在一些问题和答案,但我并不完全确定在哪里出错。

我已经遵循了各种不同的设置环境variables的说明,当我检查我得到的ruby的环境variables

C: Ruby192>肋

irb(main):001:0>将ENV ['JAVA_HOME']

“C: PROGRA〜1周的java jdk1.6.0_20”

=>零

所以我一直在解释这个环境variables被设置,作为我的JDK的path返回,但什么是'零'?

echo%JAVA_HOME%

也返回到我的JDK的path。

从安装Java的batch file中发现?

/ usr / libexec / java_home命令

没有find作为Sudo的JAVA_HOME

在Windows上启动Zookeeper时,JAVA_HOME设置不正确

降级到1.7后,我仍然在使用java -version时看到Java 1.8

当我跑步

gem安装rjb

我明白了

extconf.rb:39:在'(main)'中:JAVA_HOME不是一个目录。 (RuntimeError)

当我查看extconf.rb文件,果然,我有

javahome = ENV ['JAVA_HOME']

如果javahome.nil? && RUBY_PLATFORM =〜/达尔文/

javahome =`/usr/libexec/java_home`.strip

结束

除非javahome.nil?

如果javahome [0] ==?“&& javahome [-1] ==?”

javahome = javahome [1 ..- 2]

结束

提高“JAVA_HOME不是目录”。 除非File.directory?(java)

pt = Path.new

所以从我可以告诉,无论是否意味着JAVA_HOME没有被find,或者我没有把它指向正确的道路或东西。

我试过把' bin'包括在path的末尾,因为有些回复说有必要,但是我得到了相同的结果。

有什么build议么?

在Ubuntu中正确设置java classpath和java_home

在Linux中的JConsole位置

如果指向具有空格的path,应该使用JAVA_HOMEvariables包含引号?

在CentOS中“哪个java”打印错误的javapath

批处理脚本检查Java家庭和比较Java版本

nil只是irb返回给你评估你的表情的结果,这是puts ... 把你的表达式打印出来,但是puts的返回值是零。 它与ENV['JAVA_HOME']的内容无关。 无意味着放弃返回零,这是完全正常的。 尝试puts "hello" ,你会看到同样的事情。

如果异常确实来自extconf.rb粘贴中的行。 这意味着File.directory?(javahome)返回false。

我会先在irb中玩。 即尝试:

File.directory?('c:progra~1javajdk1.6.0_20')

…看看你得到什么。 这条路径看起来像某种MSDOS想要的速记。 也许你想用C:Program Filesjavajdk1.6.0_20这样的真实东西替换它,然后看看File.directory?()会变得更快乐。

编辑:

在你的DOS提示符下试试dir %JAVA_HOME% 。 确保你真的把你的JAVA_HOME指向了它应该在的地方。

我在Ubuntu有同样的问题,但这帮了我

http://www.artonx.org/collabo/backyard/?HowTobuildrjb

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐