当前位置: 代码迷 >> java >> 找不到图书馆:tibrvj
  详细解决方案

找不到图书馆:tibrvj

热度:69   发布时间:2023-07-31 13:39:10.0

我在使用Tibco RV的Linux服务器上运行Java应用程序,我收到以下错误:

TibrvException[error=901,message=Library not found: tibrvj]

是什么导致了这个问题?

我已经在LD_LIBRARY_PATH添加了包含*.so lib路径,但结果仍然相同。

更新:

目前,我已将<MyApp>/libs/tibrvj.jar添加到classpath tibrvj.jar从Windows环境复制到我正在运行我的应用程序的Linux机器。 我从类路径中删除了这个并添加了另一个引用<TibcoDirectory>/libs/tibrvj.jar并且它修复了问题。 它们与前一个文件的大小不同,从Windows复制的那个和当前在Linux框中的一个可能有区别。 有人可以解释为什么会这样吗?

我遇到了同样的问题,我修复了以下问题:

  1. 文件tibrvj.jar存在于我的应用程序的类路径中
  2. 文件tibrvj.dll通过java库路径存在。 此文件通常位于Tibco Rendezvous主目录中的bin目录中(例如C:/tibco/tibrv/8.2/bin)
  3. 已安装的Java版本与已安装的tibco版本兼容。

我的环境是:

  1. Windows 7,64位
  2. Tibco Rendezvous 8.2,64位
  3. JDK 1.6u29,64位

之前,我为i586处理器安装了JDK 1.6u17,当我尝试使用以下方法加载库时:

System.loadLibrary("tibrvj");

我收到了这个错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\TIBCO\tibrv\8.2\bin\tibrvj.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform

它给了我安装正确的java版本的线索。

您是否使用System.loadLibrary(“tibrvj”)加载了库? 你有没有把它添加到java.library.path?

rchavarria和DaveHowes的答案有所帮助,但对我来说问题是我的IDE在运行我的项目时覆盖了PATH变量(以及java.library.path)。

删除此覆盖使其工作,因为IDE tibrv外部已经在PATH上。

你在使用Wrappers吗?

你在wrapper.conf中设置了java.library.path吗? 我在wrapper.conf中设置了java.library.path,更正此值为我解决了问题。

用途

java -Djava.library.path=/opt/tibco/tibrv/lib -cp {}.jar

LD_LIBRARY_PATH=/opt/tibco/tibrv/lib export LD_LIBRARY_PATH

然后**System.loadLibrary("tibrvj");**

  相关解决方案