glassfish 3.1.1'独特'JNI错误

时间:2012-04-18 16:28:30

标签: java-native-interface glassfish-3

使用本机代码的webapp在Glassfish 2.x中运行良好。

在3.1.1中,它失败了:

[#|2012-04-18T14:43:08.330+0000|SEVERE|glassfish3.1.2|com.sun.jersey.spi.container.ContainerResponse|_ThreadID=21;_ThreadName=Thread-2;|The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.lang.UnsatisfiedLinkError: com.basistech.rnt.jni.initializeEnvironmentSpecificRootDirectory(Ljava/lang/String;)Z
    at com.basistech.rnt.jni.initializeEnvironmentSpecificRootDirectory(Native Method)

请注意,这是抱怨特定符号的链接错误的版本,而不是整个库。

完全相同的JNI lib可以在同一台机器上从Glassfish的示例Java程序运行。

阅读JDK源代码,只有当dlsym(我们在Linux上)无法返回符号时,这似乎才有可能。 (这都是Java 1.6.x.)我很难理解Glassfish可能会做什么导致dlsym无法在共享库中看到此符号。

有任何想法吗?

0 个答案:

没有答案