从 Jruby 中的 Jar 文件访问枚举

Access enums from Jar file in Jruby

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

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 中而不会出现错误?

谢谢。

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

另见

Problems Calling a Java Class from JRuby

看看 java_import 是否对你有帮助 https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby

而且您似乎没有使用变量 CL,请尝试使用

CL::颜色列表::蓝色