使用JNI调用API访问静态枚举字段

Xin*_*nus 2 java java-native-interface invocation-api

我们如何使用JNI调用API访问静态枚举字段

我尝试使用以下代码从Glassfish api 访问glassfish org.glassfish.api.embedded.ContainerBuilder.Type枚举

jclass Type= env->FindClass( 
    "org/glassfish/api/embedded/ContainerBuilder$Type");
jfieldID Type_web=env->GetStaticFieldID(
    Type,"web","org/glassfish/api/embedded/ContainerBuilder$Type");
Run Code Online (Sandbox Code Playgroud)

但它总是给我错误Exception in thread "main" java.lang.NoSuchFieldError: web,我如何访问该字段?

Xin*_*nus 6

实际上我L在前面和;类名末尾都缺了,我做了以下修改

jfieldID Type_web=env->GetStaticFieldID(
    Type,"web","Lorg/glassfish/api/embedded/ContainerBuilder$Type;");
Run Code Online (Sandbox Code Playgroud)