ネイティブ ライブラリをロードするための jar ファイルを作成し ( System.loadlibrary() を使用)、これを WebSphere ( v6.1 ) 内の共有ライブラリとして構成しました。サーバーはJava 2を有効にして実行する必要があります(これは法律です...)
ライブラリにアクセスしようとすると、jar ファイルから正しいクラスがロードされていることがわかりますが、ネイティブ ライブラリをロードしようとすると、次のセキュリティ例外が発生します。
許可: loadLibrary.gbif : アクセスが拒否されました (java.lang.RuntimePermission loadLibrary.gbif) コード: {file:/hosting/apps/D03-dave-dev/lib/NativeLibraryLoader.jar} 内の com.dave.nativelibrary.NativeLibraryLoader スタックトレース: 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";
アプリケーションとjarセクションの両方でこれを試しましたが、有益な効果はありませんでした.
私がここで何をする必要があるかについて誰かが光を当てることができますか?
ありがとう
デイブ