我创建了一个 jar 文件来加载本机库(使用 System.loadlibrary())并将其配置为 WebSphere(v6.1)中的共享库。服务器必须在启用 Java 2 的情况下运行(这是法律……)
当我尝试访问该库时,我可以看到正在从我的 jar 文件中加载正确的类,但是尝试加载本机库时会出现以下安全异常:-
允许: loadLibrary.gbif : 拒绝访问 (java.lang.RuntimePermission loadLibrary.gbif) 代码: com.dave.nativelibrary.NativeLibraryLoader 在 {file:/hosting/apps/D03-dave-dev/lib/NativeLibraryLoader.jar} 堆栈跟踪: java.security.AccessControlException:访问被拒绝(java.lang.RuntimePermission loadLibrary.gbif) 在 java.security.AccessController.checkPermission(AccessController.java:104) 在 java.lang.SecurityManager.checkPermission(SecurityManager.java:547) 在 com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java:189) 在 java.lang.SecurityManager.checkLink(SecurityManager.java:833) 在 java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:917) 在 java.lang.System.loadLibrary(System.java:453) 在 com.dave.nativelibrary.NativeLibraryLoader.(NativeLibraryLoader.java:21)
--- 剪断 ---
我不太确定自己在做什么——所以我尝试了几次将以下内容放入我的 was.policy 文件中
权限 java.lang.RuntimePermission "loadLibrary.gbif";
我在应用程序和 jars 部分都尝试过,但没有任何有益效果。
任何人都可以阐明我需要在这里做什么吗?
谢谢
戴夫