我创建了一个jar文件来加载本机库(使用System.loadlibrary())并将其配置为WebSphere(v6.1)中的共享库。服务器 在启用Java 2的情况下运行(这是法律......)
当我尝试访问库时,我可以看到正在从我的jar文件加载正确的类,但尝试加载本机库会给我以下安全性异常: -
Permission: loadLibrary.gbif : Access denied (java.lang.RuntimePermission loadLibrary.gbif) Code: com.dave.nativelibrary.NativeLibraryLoader in {file:/hosting/apps/D03-dave-dev/lib/NativeLibraryLoader.jar} Stack Trace: java.security.AccessControlException: Access denied (java.lang.RuntimePermission loadLibrary.gbif) at java.security.AccessController.checkPermission(AccessController.java:104) at java.lang.SecurityManager.checkPermission(SecurityManager.java:547) at com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java:189) at java.lang.SecurityManager.checkLink(SecurityManager.java:833) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:917) at java.lang.System.loadLibrary(System.java:453) at com.dave.nativelibrary.NativeLibraryLoader.(NativeLibraryLoader.java:21)
---剪辑---
我不确定我在做什么 - 所以我有几次尝试将以下内容放入我的was.policy文件中
权限java.lang.RuntimePermission“loadLibrary.gbif”;
我在应用程序和jar部分都试过这个,但它没有任何有益效果。
任何人都可以了解我需要做什么吗?
由于
戴夫
答案 0 :(得分:0)
而不是将您的本机库包装在jar lib中。您是否尝试将本机代码定义为websphere中的共享本机库?