6

私の JSP プログラムは、HP-UX の Websphere で実行するように設定されています。

いくつかの .jar ファイルと、プログラムを実行する必要があるクラスを含む .so ファイルがあります。

.jar ファイルを\MyProgram\WEB-INF\lib\フォルダーに配置することで、いくつかを機能させることができました。

ただし、UnsatisfiedLinkErrorlib.so ファイルが認識されないことが原因であることがわかります。

私が見つけた方法の1つは次のとおりです。

  1. 管理コンソールで、[環境] -> [共有ライブラリ] -> [新規] に移動します。

  2. .jar ファイルの場所をクラスパスに入力し、.so ファイルの場所をネイティブ ライブラリ パスに入力します。

  3. 管理コンソールで、[アプリケーション] -> [アプリケーションの種類] -> [エンタープライズ アプリケーション] に移動します。

  4. [MyProgram] -> [共有ライブラリ参照] -> [共有ライブラリ マッピング] で、ライブラリを [使用可能] から [選択済み] に移動してプログラムに割り当てます。

2 つの質問があります。

  1. .jar ファイルと .so ファイルを自分のプログラムの\lib\フォルダーから取得することはできますか?

  2. できない場合、アプリケーション フォルダーからクラスパスとネイティブ ライブラリ パスを一覧表示することはできますか? %MYPROGRAM%\WEB-INF\lib\lib.soファイルを絶対パスで物理サーバーに配置するのではなく、websphere 変数ディレクトリを使用して application.war をアップロードするようなものC:\IBM\WebSphere\AppServer\bin\lib.soですか?

[EDIT-01] 以下詳細:

受信したエラー: 「エラー 500: java.lang.UnsatisfiedLinkError: com.chrysalisits.crypto.LunaAPI.Initialize()V」

Websphere を LunaSA HSM と連携させて公開/秘密キーを取得しようとしています。libLunaAPI.sl、libLunaAPI.so、LunaJCASP.jar、LunaJCESP.jarを提供してくれました。IBM の Websphere V8 -> References -> Class Loading Exceptions から、HP-UX 用の *.so ファイルが必要であることを示しているため、それに応じて実行しました。パス セットは、Websphere で指定した絶対パスです。これは私の2番目の質問に関連しています。

最初の質問は、WinSCP を使用してサーバーにアクセスし、そこにファイルを置いて絶対パスを参照する代わりに、これらのファイルを myProgram.war に入れてそこから実行できるかどうか実際に疑問に思っていることです。おそらく、上記のファイルが私のプログラムの \WEB-INF\lib\ の下にあることを指定してください。これは、私のこのプログラムだけが LunaSA HSM にアクセスするためです。

**追伸。両方の方法を試しましたが、それでも失敗します。はぁ。

4

1 に答える 1

1

共有ライブラリの実装では、ファイル名ではなく、ネイティブ ライブラリ パスのディレクトリのみを指定すると思います。つまり、現在のファイルの場所である./opt/apps/WebSphere/AppServer/bin

一方、そのディレクトリはすでに WebSphere のWAS_LIBPATHSHLIB_PATHにあると予想されるので、一覧表示する必要はまったくありません。(チェックしてください$WAS_HOME/bin/setupCmdLine.sh。)

ただし、luna ファイル用のサブディレクトリをどこかに作成し、代わりに共有ライブラリのネイティブ ライブラリ パスを指定する方がよいと思います。

于 2012-07-06T17:10:00.233 に答える