我正在服务器中部署Java EE项目,该服务器使用Matlab的MCR来实现某些图像处理功能。我已经尝试了好几个月,但我无法让它发挥作用。问题是,当它要使用MCR时,它无法找到.so库。我收到了这个错误:
javax.servlet.ServletException:无法在java.library.path上找到MATLAB builder JA所需的库libmwmclmcrrt.so.7.13。该库通常与MATLAB或MCR一起安装,其缺失可能表示该安装或当前路径配置存在问题。该组件尝试使用的MCR版本是7.13。
ROOT原因:
java.lang.UnsatisfiedLinkError:无法在java.library.path上找到MATLAB Builder JA所需的库libmwmclmcrrt.so.7.13。该库通常与MATLAB或MCR一起安装,缺少该库可能表示该安装或当前路径配置存在问题。该组件尝试使用的MCR版本是:7.13。
服务器使用:
我已经尝试过的事情:
export 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_Runtime / v81 / sys / os / glnxa64:在/ usr /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 / SYS / JAVA / JRE / glnxa64 / JRE / lib目录/ AMD64 / native_threads:在/ usr /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 / SYS / JAVA / JRE / glnxa64 / JRE / LIB / AMD64 /服务器:在/ usr /本地/ 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
我已经尝试了很多我无法记住的事情而且没有一个能够工作,它会一直显示相同的错误(现在版本为8.1而不是7.13)。请帮助我,谢谢。
答案 0 :(得分:2)
我在使用Linux,Java EE和Matlab时遇到了同样的问题。我的解决方案是:
$ su
身份登录并输入密码$ gedit /etc/enviroment
LD_LIBRARY_PATH =“/ USR /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 /运行/ glnxa64:在/ usr /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 / bin中/ glnxa64:在/ usr /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 / SYS / OS / glnxa64:在/ usr /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 / SYS / JAVA / JRE / glnxa64 / JRE / lib目录/ AMD64 / native_threads:在/ usr /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 / SYS / JAVA / JRE / glnxa64 / JRE / LIB / AMD64 /服务器:在/ usr /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 / SYS / JAVA / JRE / glnxa64 / JRE / LIB / AMD64"
XAPPLRESDIR = “/ USR /本地/ MATLAB / MATLAB_Compiler_Runtime / V81 / X11 /默认应用程序”
您的其他解决方案(例如导出)发生的情况是您创建的变量与GlassFish服务器之间没有可见性。在环境中设置变量将使您确信它们可以从任何其他程序/进程中看到。