如何为Ubuntu和Netbeans设置Matlab MCR(不满足链接错误)



我正在一个服务器中部署一个Java EE项目,该服务器使用Matlab的MCR执行一些图像处理功能。我已经试了好几个月了,我无法使它发挥作用。问题是,当它要使用MCR时,它找不到.so库。我得到了这个错误:

javax.servlet.ServletException:在java.library.path上找不到MATLAB构建器JA所需的库libmwmclmcrrt.so.7.13。此库通常与MATLAB或MCR一起安装,它的缺失可能表明该安装或当前路径配置存在问题。该组件尝试使用的MCR版本为7.13。

根本原因:

java.lang.UnsisfiedLinkError:在java.library.path上找不到MATLAB Builder JA所需的库libmwmclmcrrt.so.7.13。此库通常与MATLAB或MCR一起安装,它的缺失可能表明该安装或当前路径配置存在问题。该组件尝试使用的MCR版本为:7.13。

服务器使用:

  • Ubutuntu 64位
  • Netbeans 7.4
  • 玻璃鱼
  • java 6 sdk
  • 首先使用MCR 7.13,现在使用MCR 8.1

我已经尝试过的东西:

  • 使用导出设置环境变量LD_LIBRARY_PATH和XAPPLERSDIR:

出口LD_LIBRARY_PATH=/usr/local/MATLAB/MATLAB_Compiler_Runtime/v81/Runtime/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v81/bin/glnxa64:/usr\local/MATLAB/MATLAB-Compiler_Rountime/v81/sys/os/glnxa64:/usr/local/MMATLAB/MATLAB_Compiler_Runtime/v81/sys/java/jre/glnxa64-jre/lib/amd64/nature_threads:/usr/sys/java/jre/glnxa64/jre/lib/aamd64/server:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v81/sys/java/jre/glnxa64/jre/lib/amd64:$LD_LIBRARY_PATH

export XAPPLRESDIR=/usr/local/MATLAB/MATLAB_Compiler_Runtime/v81/X11/app-defaults

  • 使用setenv设置环境变量LD_LIBRARY_PATH和XAPPLERSDIR:

未找到命令setenv

  • 编辑ld.so.conf文件并运行ldconfig
  • 在glassfish中添加-Djava.library.path=my/path/to/so
  • 在Netbeans中添加-Djava.library.path=my/path/to/so,如下所示:给出';java.library.path';在用于.dll/.so文件的netbeans中
  • 我试着在Netbeans中设置环境变量,就像在这篇文章中所说的:如何在Netbeans中设置environment Variable?但我找不到";Actions"
  • 我试着在Netbeans中设置环境变量,就像在这篇文章中所说的:https://askubuntu.com/questions/267071/ld-library-path-specification但我找不到";"环境"

我已经尝试了很多我记不清的东西,但都不起作用,它一直显示相同的错误(现在是8.1版,而不是7.13版)。如果有任何帮助,我将不胜感激。

我在使用Linux、Java EE和Matlab时也遇到了同样的问题。我的解决方案是:

  • 打开终端
  • 以根$ su身份登录并键入密码
  • 编辑/etc/environment $ gedit /etc/enviroment
  • 在我们的案例中,添加所需的变量:

LD_LIBRARY_PATH="//usr/local/MATLAB/MATLAB_Compiler_Runtime/v81/Runtime/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v81/bin/glnxa64:/usr\local/MATAB/MATLAB-Compiler_Rountime/v81/sys/os/glnxa64:/usr/local/MMATLAB/MATLAB_Compiler_Runtime/v81/sys/java/jre/glnxa64.jre/amd64/native_threads:/usr/local/MATMATLAB_Compiller_Runtime/v81/sys/jaw/jre/gl nxa64/jre/lib/aamd64/server:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v81/sys/java/jre/glnxa64/jre/lib/amd64";

XAPPLRESDIR="//usr/local/MATLAB/MATLAB_ Compiler_;

  • 保存文件并重新启动
  • 以root身份启动服务器

其他解决方案(如导出)的问题是,您创建的变量和GlassFish服务器之间没有可见性。在环境中设置变量将测量它们在任何其他程序/过程中是否可见。

最新更新