这篇
link text文章列出:
include Java
include 'java'
require 'java'
作为有效选项,尽管它说最后一个选项是1.0之前的版本并且不起作用.
然而Jruby Wiki说使用require’java’
并且包括我见过的课程
MyClass = Java::some.package.MyClass
include_class Java::some.package.MyClass
include_class 'some.package.MyClass'
java_import Java::some.package.MyClass
有一种首选方法吗?
目前我正在获得一些“重新定义X”消息,因为我有一些与我的ruby类相同的java类.保留java命名空间的最佳方法是什么,所以我没有得到这些,如果我从未使用过两个ruby / java类,那么这个重新定义是否存在任何问题(除了明显的Java类前面的ruby类)同一个文件?
最佳答案 我更喜欢
require 'java'
java_import java.lang.System
我认为要求’java’的选择不是那种重要的,而只是个人偏好.另一方面,JRubyWiki表示java_import是首选,因为this bug report.
对于Java和JRuby类之间的名称冲突.为了代码可读性或维护目的,我建议避免对2个不同的类使用相同的名称,除非您打算重新打开它.
更新:您确定错误’重新定义X …’是由Java和JRuby类的相同名称引起的吗?我经常得到这个错误,因为我多次java_import相同的Java类(有时在不同的地方,有时我多次加载相同的文件).