Em *_*Cee 6 java websphere jsp web-applications hsm
我的JSP程序设置为在HP-UX下的Websphere上运行.
我有一些.jar文件和一个.so文件,其中包含我的程序需要运行的类.
通过将我的.jar文件放入\MyProgram\WEB-INF\lib\文件夹,我得到了一些工作.
但是,我看到一个UnsatisfiedLinkError是由我的lib.so文件无法识别引起的.
我找到的方法之一是:
在管理控制台中,转到环境 - >共享库 - >新建
在.path路径中输入.jar文件位置,将.so文件位置输入到本机库路径中
在管理控制台中,转到应用程序 - >应用程序类型 - >企业应用程序
在MyProgram - >共享库引用 - >共享库映射下,通过将库从Available更改为Selected来将库分配给程序.
我有两个问题:
我可以从我的程序\lib\文件夹中获取.jar文件和.so文件吗?
如果我不能,是否可以从我的应用程序文件夹中列出类路径和本机库路径?像上传我的application.war与websphere变量目录%MYPROGRAM%\WEB-INF\lib\lib.so而不是将文件放在具有绝对路径的物理服务器中的东西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 - >引用 - >类加载异常,它表明我需要HP-UX的*.so文件,所以我做了相应的操作.路径集是我在Websphere中指定的绝对路径.这与我的第二个问题有关.
第一个问题是我实际上想知道我是否可以将这些文件放入myProgram.war并从那里运行,而不是使用WinSCP访问服务器并将文件放在那里进行绝对路径引用.也许指定上面提到的文件位于我的程序中,而不是\ WEB-INF\lib \.这是因为只有我的这个程序才能访问LunaSA HSM.
**PS.我尝试了两种方法,但仍然失败了.叹.
对于共享库实现,我相信您只指定本机库路径中的目录,而不是文件名。也就是说,使用您当前的文件位置,/opt/apps/WebSphere/AppServer/bin.
另一方面,我希望该目录已经在 WebSphere 的WAS_LIBPATH和中SHLIB_PATH,因此根本没有必要列出它。(查看$WAS_HOME/bin/setupCmdLine.sh。)
但是,我认为最好为您的 luna 文件创建一个子目录,并将您的共享库本机库路径指向该子目录。