适用于需要java和包含java类的jruby语法

我似乎无法找到在J
ruby中使用
java类的当前语法.

这篇
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类(有时在不同的地方,有时我多次加载相同的文件).

点赞