将* .so文件加载到Websphere中

时间:2012-07-05 08:01:43

标签: java jsp web-applications websphere hsm

我的JSP程序设置为在HP-UX下的Websphere上运行。

我有一些.jar文件和一个.so文件,其中包含我的程序需要运行的类。

将我的.jar文件放入\MyProgram\WEB-INF\lib\文件夹,我就可以使用。{/ p>

但是,我看到UnsatisfiedLinkError是由我的lib.so文件无法识别引起的。

我找到的方法之一是:

  1. 在管理控制台中,转到环境 - >共享库 - >新

  2. 将.jar文件位置输入Classpath,将.so文件位置输入Native Library Path

  3. 在管理控制台中,转到应用程序 - >申请类型 - >企业应用程序

  4. 在MyProgram下 - >共享库参考 - >共享库映射,通过将库从“可用”移动到“选定”来将库分配给程序。

  5. 我有两个问题:

    1. 我可以从我的程序的\lib\文件夹中获取.jar文件和.so文件吗?

    2. 如果我不能,是否可以从我的应用程序文件夹中列出类路径和本机库路径?使用websphere变量目录%MYPROGRAM%\WEB-INF\lib\lib.so上传我的application.war,而不是将文件放在具有绝对路径C:\IBM\WebSphere\AppServer\bin\lib.so的物理服务器中?

    3. [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 - >参考文献 - >类加载异常,它表示我需要HP-UX的* .so文件,所以我做了accordingly。路径集是我在Websphere中指定的绝对路径。这与我的第二个问题有关。

      第一个问题是我真的想知道我是否可以将这些文件放入myProgram.war并从那里运行而不是使用WinSCP访问服务器并将文件放在那里以获取绝对路径引用。也许指定上面提到的文件位于我的程序中,而不是\ WEB-INF \ lib \。这是因为只有我的这个程序才能访问LunaSA HSM。

      ** PS。我尝试了两种方法,但仍然失败了。叹息。

1 个答案:

答案 0 :(得分:1)

对于共享库实现,我相信您只在本机库路径中指定目录,而不是文件名。也就是说,使用您当前的文件位置/opt/apps/WebSphere/AppServer/bin

另一方面,我希望该目录已经在WebSphere的WAS_LIBPATHSHLIB_PATH中,因此根本不需要列出它。 (检查$WAS_HOME/bin/setupCmdLine.sh。)

但是,我认为最好为你的luna文件创建一个子目录,并将共享库本机库路径指向它。