1

我正在尝试访问以下静态枚举

public class Colors
{
    public enum ListofColors 
    {
        BLUE, RED, YELLOW
    }
}

但我不断收到错误

NameError: cannot load Java class Colors.Colors::ListofColors::BLUE

当我尝试以下操作时:

CL = JavaUtilities.get_proxy_class('Colors.Colors::ListofColors::BLUE')

但后来我尝试了以下方法:

CL = JavaUtilities.get_proxy_class('Colors.Colors')
red = Colors.Colors::ListofColors::RED

它给了我以下错误:

NameError: uninitialized constant Colors

有没有一种不同的方法可以从 jar 文件中获取这个静态枚举并将其包含在 Jruby 中而不会得到那个 errpr?

谢谢。

4

1 回答 1

0

我认为你需要 package::class,你重复了两次颜色

也见

从 JRuby 调用 Java 类的问题

弄清楚 java_import 是否对您有帮助https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby

另外,您似乎没有使用变量 CL,请尝试使用

CL::ListofColors::蓝色

于 2015-11-09T14:09:06.293 回答