美文网首页
linux下,java项目调用matlab函数

linux下,java项目调用matlab函数

作者: 老夫路慢慢 | 来源:发表于2019-03-29 16:47 被阅读0次

    过程描述:

    1、win7系统中安装了Matlab R2017a,并参考如何将Matlab代码转换成JAVA可用的Jar包,将自己的Matlab函数打成jar包,并在java工程中成功调用。
    2、centos6.7上,编写测试函数:test.java,调用之前在win7环境下已成功调用的Matlab函数jar包,此时遇到:
    (1)在Linux下运行引入了外部jar包的java程序的问题

    解决方法
    主要参考这里,以我自己为例:我的test.java所在目录为 /data1/tmp/Test/src/test.java
    a)、我将Matlab函数jar包:cut.jar、javabuilder.jar,与test.java放于同一个目录;
    b)、在test.java中引用
    import cut.Cut;
    import com.mathworks.toolbox.javabuilder.*;

    c)、在src目录下,运行命令:
    javac -cp /data1/tmp/Test/src/cut.jar:/data1/tmp/Test/src/javabuilder.jar /data1/tmp/Test/src/test.java
    (注意使用冒号":"分割)
    d)、编译成功,执行 java -cp /data1/tmp/Test/src/cut.jar:/data1/tmp/Test/src/javabuilder.jar:. test
    (注意最后添加了一个".",若不加则会报错:“找不到或无法加载主类xxx”,具体原因见这里

    开始运行,出现错误:
    (2)failed to find the required library libmwmclmcrrt.so.9.2 on java.library.path

    解决方法
    a、参考官方教程,在linux下安装Matlab Runtime。(注意静默安装、指定安装路径等相关参数和用法,在该教程中均有说明。)
    b、依据安装过程最后的提示,设置环境变量LD_LIBRARY_PATH

    3、再次运行,出现错误
    (3)无法加载 '/data1/matlab_runtime/v92/bin/glnxa64/libmwosgserver.so'

    解决方法
    参考这里,增加环境变量LD_PRELOAD
    export LD_PRELOAD=/data1/matlab_runtime/v92/bin/glnxa64/libmwosgserver.so(这里'/data1/matlab_runtime'为我的matlab runtime安装路径)

    (4)再次运行,成功。

    相关文章

      网友评论

          本文标题:linux下,java项目调用matlab函数

          本文链接:https://www.haomeiwen.com/subject/jjalbqtx.html