很久很久不写这个BLOG,从此复出
最近在windows下安装RJB,出现了一些简单的问题,记下解决方法
一共在两个环境中安装了RJB: windows(成功) 和 cygwin(失败)
一、一些公共的问题
1] Cann't create java VM 和 JAVA_HOME 设置
一定要准备JDK,JAVA_HOME设定到JDK路径下
设置到JRE下或其他路径下会碰到Cann't create java VM
2] LoadError: no such file to load -- rjb
按一些教程,require 'rjb'之后出现错误
正确的调用是
require 'rubygems' require 'rjb'
二、windows下 直接安装的问题
1] gem 安装
gem 直接安装的是 linux的版本,会出现错误,比如 jni.h 找不到
还是下载 x86-mswin32-60 的版本,gem install x.gem --local
三、cygwin下的安装
1] gem 安装 (其实是个很简单的问题)
gem 安装 出现 checking for jni.h... no
检查 JAVA_HOME 和 jni.h 都没有问题
只得检查 extconf.rb 源文件,其中mkmf的 have_header("jni.h") 返回 false
原因并不是真的找不到jni.h,而是调用gcc -Ixxx/jni.h ... 失败
最终是因为GCC没有安装,补装GCC,一切正常
2] 安装失败,遗留的问题
调用
require 'rubygems' require 'rjb' str = Rjb::import("java.lang.String")
返回失败 Java/lang/NoClassDefFoundError : Java/lang/Object
最终并未找到解决方法