gpt4 book ai didi

java - 加载 *.so 文件到 Websphere

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:26 25 4
gpt4 key购买 nike

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

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

通过将我的 .jar 文件放入 \MyProgram\WEB-INF\lib\ 文件夹,我能够让一些文件工作。

但是,我看到一个 UnsatisfiedLinkError,这是由于我的 lib.so 文件没有被识别。

我找到的方法之一是:

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

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

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

  4. 在 MyProgram -> Shared library references -> Shared Library Mapping 下,通过将库从 Available 移动到 Selected 来将其分配给程序。

我有两个问题:

  1. 我能否只从程序的 \lib\ 文件夹获取 .jar 文件和 .so 文件?

  2. 如果我不能,是否可以从我的应用程序文件夹中列出类路径和 native 库路径?类似于使用 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 与 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。

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

最佳答案

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

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

但是,我认为最好在某处为您的 luna 文件创建一个子目录,并将您的共享库 native 库路径指向该目录。

关于java - 加载 *.so 文件到 Websphere,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11340164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com