【问题标题】:java.lang.UnsatisfiedLinkError: Native Library /usr/local/MATLAB/R2017a/bin/glnxa64/libnativemvm.so already loaded in another classloaderjava.lang.UnsatisfiedLinkError: Native Library /usr/local/MATLAB/R2017a/bin/glnxa64/libnativemvm.so 已经加载到另一个类加载器中
【发布时间】:2018-02-13 23:31:21
【问题描述】:

我正在尝试从 Jetbrains MPS 调用 MATLAB 函数。但是,我收到此错误:

本机库 /usr/local/MATLAB/R2017a/bin/glnxa64/libnativemvm.so 已在另一个类加载器中加载 java.lang.UnsatisfiedLinkError: Native Library /usr/local/MATLAB/R2017a/bin/glnxa64/libnativemvm.so 已经加载到另一个类加载器中

我使用的代码是:

final String[] options = {"-noFigureWindows", "-r", "-cd"}; 
final MatlabEngine startMatlab; 
try { 
  startMatlab = MatlabEngine.startMatlab(options); 
  this.setMatLabReference(startMatlab); 
} catch (Exception ex) { 
  System.out.println("Exception" + ex.toString()); 
}

提前致谢!

【问题讨论】:

    标签: matlab mps


    【解决方案1】:

    可能是因为您在 MPS 旁边运行 MATLAB?以下链接建议尝试使用 -nojvm -nodisplay -nosplash 选项启动 MATLAB 引擎:https://nl.mathworks.com/matlabcentral/answers/348575-matlabpath-bin-glnxa64-libnativemvm-so-already-loaded-in-another-classloader

    【讨论】:

    • 我检查了该解决方案,但它不起作用。就我而言,只有在我构建一次、运行然后再次构建时才会出现问题。
    • 实际上最后我自己解决了,我在依赖列表中有一个循环依赖,这就是我遇到问题的原因,我清除了循环依赖,一切都很好。
    猜你喜欢
    • 2010-11-16
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多