在Tomcat中部署JNI库依赖项苦苦挣扎

时间:2013-05-07 18:13:20

标签: java linux tomcat java-native-interface war

这是我目前的设置:

  • 我正在添加使用JNI包装器库与本机库接口的功能的Web应用程序(作为.war部署到Tomcat)。
  • 包装程序库ssc.dll / so
  • 包装的库SSCAPIJNI.dll / so
  • 这两个库都嵌入在战争的罐子里
    • 在战争中他们在路径/lib/linux/*.so和/lib/windows/*.dll
  • this helper code中使用this manner,应用程序在我的Windows开发环境和基于Linux的持续集成服务器上成功提取,加载和调用本机代码。
    • 我可以通过Eclipse在我的本地开发环境中运行和使用该应用程序
    • CI使用ant和junit
    • 成功运行代码测试

但是,当我将战争部署到我的QA服务器时,我得到UnsatisfiedLinkError

因为包装器lib和包装的lib是分开的,所以不足以使java库搜索路径正确,操作系统的本机库搜索路径需要在加载包装库时看到包装的库,这似乎是失败的地方发生。我没有选择将两者合并在一起。

虽然我已经成功地绊倒了这个,但目前的障碍是我想要“正确的方式”修复,因此我的问题是:

将依赖于第二个本机库的JNI库部署到Tomcat的方式是什么是正确而强大的方法,以便Tomcat可以看到包装器lib,而后者又可以看到包装的lib?

0 个答案:

没有答案