【发布时间】:2012-07-05 14:40:44
【问题描述】:
我的 JSP 程序设置为在 HP-UX 下的 Websphere 上运行。
我有一些 .jar 文件和一个 .so 文件,其中包含我的程序需要运行的类。
通过将我的 .jar 文件放入 \MyProgram\WEB-INF\lib\ 文件夹中,我能够得到一些工作。
但是,我看到一个 UnsatisfiedLinkError,这是由于我的 lib.so 文件未被识别造成的。
我发现的一种方法是:
在管理控制台中,转到环境 -> 共享库 -> 新建
在 Classpath 中输入 .jar 文件位置,在 Native Library Path 中输入 .so 文件位置
在管理控制台中,转到应用程序 -> 应用程序类型 -> 企业应用程序
在 MyProgram -> Shared library references -> Shared Library Mapping 下,通过将库从 Available 移动到 Selected 将库分配给程序。
我有两个问题:
我可以只从程序的
\lib\文件夹中获取 .jar 文件和 .so 文件吗?如果不能,是否可以从我的应用程序文件夹中列出类路径和本机库路径?类似于使用 websphere 变量目录
%MYPROGRAM%\WEB-INF\lib\lib.so上传我的 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 文件,所以我这样做了accordingly。路径集是我在 Websphere 中指定的绝对路径。这与我的第二个问题有关。
第一个问题是我实际上想知道是否可以将这些文件放入 myProgram.war 并从那里运行,而不是使用 WinSCP 访问服务器并将文件放在那里以获取绝对路径引用。也许指定上述文件位于我的程序中,而不是在 \WEB-INF\lib\ 下。这是因为只有我的这个程序才能访问 LunaSA HSM。
** PS。我尝试了这两种方法,但仍然失败。叹息。
【问题讨论】:
-
从 WebSphere 文档中(至少通过版本 7;我还没有查看过),似乎只能从系统 PATH 或共享库加载本机库。也就是说,不是来自单个 Web 应用程序的部署路径。我不认为我理解你的问题 2。
-
您好 dbreaux,我正在尝试让 Websphere 从 LunaSA HSM 检索密钥。不幸的是,UnsatisfiedLinkError 一直告诉我 htat 出了点问题:“原因:com.chrysalisits.crypto.LunaAPI.Initialize(Native Method) at com.chrysalisits.crypto.LunaAPI.Initialize()V at com .chrysalisits.crypto.LunaTokenManager.
(LunaTokenManager.java:107) 在 com.chrysalisits.crypto.LunaTokenManager.getInstance(LunaTokenManager.java:62) 在 com.chrysalisits.cryptox.LunaJCEProvider. (LunaJCEProvider.java :149) 在..." -
我实际上尝试将 .war 和 .so 文件放入 Websphere 目录并在将库分配给我的程序之前链接它们。错误依旧出现,不太确定是不是将库链接到程序的正确方式。
-
UnsatisfiedLinkError 意味着您没有调用 System.loadLibrary,调用失败,或者库不包含适当命名的本机方法。如果调用失败,我们将需要查看异常堆栈跟踪以确定原因。如果调用成功,本地方法是否在独立的 JVM 中工作?
-
是的。在我用另一个 64 位版本替换 .so 文件后,UnsatisfiedLinkError 错误不再存在。我看到“CrystokiConnect 失败”的编程错误。猜猜这是另一个问题。谢谢。
标签: java jsp web-applications websphere hsm