2012-07-05 8 views
5

私のJSPプログラムは、HP-UXのWebsphereで実行するように設定されています。* .soファイルをWebsphereにロード

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

私の.jarファイルを\MyProgram\WEB-INF\lib\フォルダに置くことによって、いくつか動作させることができました。

しかし、UnsatisfiedLinkErrorは、私のlib.soファイルが認識されないことが原因です。

私が見つけた方法のひとつだった:管理コンソールで

  1. 、環境に行く - > [共有ライブラリ - >新規

  2. がクラスパスに.jarファイルの場所を入力し、入力します。したがって、ファイルの場所をネイティブライブラリパスに設定してください。

  3. 管理コンソールで、アプリケーション - >アプリケーションタイプ - >エンタープライズアプリケーション

  4. [MyProgram] - > [Shared library references] - > [Shared Library Mapping]で、ライブラリを[Available]から[Selected]に移動してプログラムに割り当てます。

は、I 2つの質問があります

  1. 私はちょうど.jarファイル、代わりに私のプログラムの\lib\フォルダから仕事をするの.soファイルを取得することはできますか?

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

[EDIT-01]さらなる詳細:

Error received: "Error 500: java.lang.UnsatisfiedLinkError: com.chrysalisits.crypto.LunaAPI.Initialize()V"

は、私は、WebSphereは、公開鍵/秘密鍵を取得するために、ルナサHSMとのインターフェースに取得しようとしています。彼らは私に:libLunaAPI.sl、libLunaAPI.so、LunaJCASP.jar、LunaJCESP.jarを提供してくれました。 IBMのWebsphere V8 - > References - > Class Loading Exceptionsから、私はHP-UX用の* .soファイルが必要であることを示しているので、accordinglyを実行しました。パス・セットは、私がWebsphereで指定した絶対パスです。これは私の2番目の質問に関係します。

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

** PS。私は両方の方法を試しましたが、それでも失敗します。一息。共有ライブラリの実装については

+0

(少なくともバージョン7を、私はそれを超えて見ていない)、ネイティブライブラリが唯一のシステムPATHからまたは共有ライブラリからロードすることができるように見えるん。つまり、個々のWebアプリケーションの展開されたパスからではありません。 私はあなたの質問2. – dbreaux

+1

こんにちはdbreauxを理解するとは思わない、私はルナサHSMからキーを取得するために、WebSphereを取得しようとしています。間違った何かがありますhtat残念ながら、ないUnsatisfiedLinkErrorは私に言って続けて:「によって引き起こさ:ます。java.lang.UnsatisfiedLinkError:com.chrysalisits.crypto.LunaAPI.Initialize()com.chrysalisits.crypto.LunaAPI.Initialize(ネイティブメソッド)でV COMで.chrysalisits.crypto.LunaTokenManager。(LunaTokenManager.java:107)com.chrysalisits.crypto.LunaTokenManager.getInstance(LunaTokenManager.java:62)at com.chrysalisits.cryptox.LunaJCEProvider。(LunaJCEProvider.java:149)at ... " –

+0

私は実際にWebsphereディレクトリに.warと.soファイルを置いてライブラリにプログラムを割り当てる前にそれらをリンクしようとしました。ライブラリにプログラムをリンクする正しい方法であれば、それでもエラーは発生します。 –

答えて

1

、私はあなたがネイティブライブラリパス、ないファイル名にちょうどディレクトリを指定すると信じています。つまり、現在のファイルの場所は/opt/apps/WebSphere/AppServer/binです。

一方、私はディレクトリがすでにWebSphereのWAS_LIBPATHSHLIB_PATHにあることを期待していますので、まったくリストする必要はありません。 (Check $WAS_HOME/bin/setupCmdLine.sh

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

関連する問題