无法执行本地调用Matlab函数JAR包,容易出现的问题

a检查你的环境变量Path:

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

F:\Program Files\MATLAB\MATLAB Compiler Runtime\v717\runtime\win32;

F:\Program Files\MATLAB\R2012a\runtime\win32;F:\ProgramFiles\MATLAB\R2012a\bin;

这是2个程序,需要都配置环境变量。

b Matlab与MCR都要安装,只安装一个不够,因为需要编写函数生成JAR,只生成JAR还需要运行时环境。

================================================================

Web调用Matlab问题分析与解决:

部署web调用matlab容易出现很多问题,笔者遇到不少问题,因有些错误信息没有保存,这里没法描述清所有错误,但会把所有配置信息全部加入。

1、Unsupported major.minorversion 51.0

JDK问题,在windows测试环境下,笔者的Eclipse项目环境为1.6,设置电脑系统JDK也为1.6。但运行时产生错误。

解决:

了解了一下,该错误的问题是指的低版本的JVM虚拟机无法加载高版本编译的class文件,51.0版本号指代JDK1.7,笔者项目环境和机器JDK均是1.6,为什么出这个问题呢,排查后只有tomcat的问题了,Eclipse中找到使用的Eclipse配置tomcat的内容,发现该tomcat引用的为1.7的jdk,更换后,该错误消失。因此,请注意各个环节请尽量保持一致的环境。

2、TheApache Tomcat Native library which allows optimal performance in productionenvironments was not found on the java.library.path

Tomcat所需支持问题,这里需要一个支持文件tcnative-1.dll,请移步到http://tomcat.heanet.ie/native/,下载一个比较新一些的版本,该文件在binaries/win32(或win64),然后将其放到自己%JAVA_HOME%/bin文件夹中。放置后重新打包部署tomcat,启动。

3、An incompatible version 1.1.14 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.30

这里紧跟2问题,放入该文件后,又因为版本问题提示错误。这里因为下载的tcnative-1.dll与所需版本不一致,因此需要更正。我们将下载的版本放入一份到%JAVA_HOME%/bin中,并放一份到%CATALINA_HOME%/bin中,如果有旧的版本,直接覆盖或以旧的版本为主,替换之前2个目录里的该文件,我们只保持其一致即可。

4、org.apache.jasper.JasperException:javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: Failed to findthe library libmwmclmcrrt.so.7.17, required by MATLAB Builder JA, onjava.library.path.
This library is typically installed alongwith MATLAB or the MCR, its absence may indicate an issue with thatinstallation or the current path configuration.
The MCR version that this component is tryingto use is: 7.17.

根据下面提示的这段内容,大概说的是我安装的matlab或者MCR 配置有问题。那么我们关注点应该在环境配置上,笔者在windows和linux上均遇到该问题,附上2种解决。

Windows:

找到环境变量Path,确保JDK、MCR、Matlab在其中的配置前后顺序,请按照JDK、MCR、Matlab这样的顺序,例如:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

F:\Program Files\MATLAB\MATLAB CompilerRuntime\v714\runtime\win32;

F:\Program Files\MATLAB\R2012a\runtime\win32;F:\ProgramFiles\MATLAB\R2012a\bin

Linux:

请找到etc/profile,编辑该文件,加入Path配置。

如MCR路径为:MCR_HOME=/sur/local/MATLAB/MATLAB Compiler Runtime

exportPATH=$PATH:$MCR_HOME/v717/runtime/glnx86

同时,请检查一下在安装MCR时设置的LD_LIBRARY_PATH和XAPPLRESDIR。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MCR_HOME/v717/runtime/glnx86:$MCR_HOME/v717/sys/os/glnx86:$MCR_HOME/v717/sys/java/jre/glnx86/jre/lib/i386/native_threads:$MCR_HOME/v717/sys/java/jre/glnx86/jre/lib/i386/server:$MCR_HOME/v717/sys/java/jre/glnx86/jre/lib/i386

exportXAPPLRESDIR=$MCR_HOME/v717/X11/app-defaults

配置的内容根据每个人的系统位数不同,飘红部分可能变更,注意查看。

5、Exception in thread "main" java.lang.UnsatisfiedLinkError:Failed to find the library mclmcrrt7_17.dll, required by MATLAB Builder JA, onjava.library.path.Thislibrary is typically installed along with MATLAB or the MCR, its absence mayindicate an issue with that installation or the current path configuration.
The MCR version that this component is tryingto use is: 7.17.

这个问题与4中的类似,但注意看是因为找不到库文件mclmcrrt7_17.dll引起的,该文件在Matlab和MCR中都有,在文件主目录runtim/win32(win64)中,优先使用MCR的该文件。将其复制一份到c:/windows/system32中,如果是64位系统还应复制到C:\Windows\SysWOW64

6、主要环境问题均在以上都可以解决了,除此之外的其他问题,例如

javax.servlet.ServletException:java.lang.NoClassDefoundError: Could not initialize class
com.mathworks.toolbox…..

这些找不到对象的请注意将这些提示找不到的对象引入到JSP页面中,方便自己调用。当然了,有功夫的可以去使用框架,就避免了这类问题,直接通过框架获取返回值。

安装及调用Matlab程序可能存在的问题解决办法相关推荐

  1. java调用matlab 数组_JAVA调用matlab程序 输入输出数据转换

    JAVA调用matlab程序 输入输出数据转换 JAVA 程序调用 matlab函数(matlab导出jar包里的函数).JAVA解析matlab返回数据时,机器需要先安装matlab运行时环境 并 ...

  2. linux下java调用matlab程序,linux_java调用windows_matlab程序

    0 说明 本文为研究java和matlab的混合编程,进行了详细的测试和探索,以解决linux环境下java程序调用matlab程序的一个应用. linux端的环境 :(运行java程序并调用wind ...

  3. C++调用MATLAB程序进行混合编程以及常见问题解决

    C++调用MATLAB程序进行混合编程以及常见问题解决 C++调用MATLAB程序方法 MATLAB打包生成DLL动态链接库 VS2017环境配置 程序调用 常见问题解决 参考 C++调用MATLAB ...

  4. java和matlab的交互实践--在java项目中调用matlab程序

    本文主要解决了java项目中调用matlab程序过程中遇到的问题,下文主要分matlab的jar包部署以及java项目配置两个方面来分析. 1.matlab项目的部署 -- 生成jar包 保存matl ...

  5. vb.net 调用matlab程序 绘图,vbnet调用matlab

    \\然后参考该 类库的文档,在类里引用 matlab 的命名空间 装 matlab ,添加引用[VB.Net] Matlab = CreateObject("matlab.applicati ...

  6. Java调用Matlab程序

    Java调用Matlab程序_Macrocell-CSDN博客_java调用matlab

  7. linux c++ 调用matlab,ubuntu系统下C++调用matlab程序的方法详解

    前言 最近因为工作的需要在研究C++怎么调用matlab程序,发现网上的资料较少,所以将自己学习的内容总结分享出来,下面话不多说了,来一起看看详细的介绍吧. 实验平台: ubuntu  matlab ...

  8. linux 终端调用MATLAB程序

    linux 终端调用MATLAB程序 路径:/A/B/C/ 程序名称:xxx.m linux 终端调用MATLAB函数方法 cd /A/B/C/ matlab -nodisplay -nosplash ...

  9. c 调用matlab.m文件,ubuntu系统下C++调用matlab程序的方法详解

    前言 最近因为工作的需要在研究C++怎么调用matlab程序,发现网上的资料较少,所以将自己学习的内容总结分享出来,下面话不多说了,来一起看看详细的介绍吧. 实验平台: ubuntu  matlab ...

最新文章

  1. 手把手教你搭建一个学习Python好看的 Jupyter 环境
  2. AntData.ORM框架 之 读写分离
  3. delphi编译缺少组件 imgedit excel2000等
  4. C语言指针,这可能是史上最干最全的讲解啦(附代码)!!!
  5. jparepository查询所有_JPA – JpaRepository 中使用的查询方法
  6. Tomcat引起的中文乱码问题
  7. 计算机网络环境中学科教学,浅谈基于计算机网络环境下的农村小学的科学学科教育...
  8. 远程摄像头软件mjpg-streamer使用指南
  9. Python爬虫之二手房
  10. 基于Java+SpringBoot+Thymeleaf+Mysql在线电影院选座订票系统设计与实现
  11. 【编译原理】 根据语法树 写出对应的短语 直接短语 句柄 构造产生式
  12. python判断字符串包含中文、数字、英文
  13. 2022蓝桥模拟-子汉诺塔
  14. OCP 11G 053题库解析汇总链接(1-200)
  15. TS进阶之keyof
  16. HTTP状态码:400\500 错误代码(个人总结)
  17. echarts中每个数据项特定的tooltip设定
  18. XDOC Office 7.5.0发布
  19. 国家标准:电子计算机机房设计规范
  20. 网页中打开qq聊天框

热门文章

  1. Word题注带一级标题,由图一.1变为图1.1
  2. linux的网易云音乐界面不显示图片,网易云音乐1.2.0(build 0408) 有时候界面会变成白屏,变为完全无响应状态...
  3. 苹果频率测试软件gen,【技术干货】进行精准的PCIe 4.0时钟抖动测量
  4. 【020期】面试官问:Java 遍历 Map 集合有几种方式?效率如何?
  5. 红孩子副总裁张惠珉:依靠核心竞争力去并购
  6. Pywifi——检测是否网络连接
  7. Ubuntu 16.04 LTS + CUDA 8.0 + GTX960M
  8. [BZOJ1616][Usaco2008 Mar]Cow Travelling游荡的奶牛(dfs||dp)
  9. 方法参数中pass by reference(传引用)和 pass by value(传值)的区别
  10. android(跳动的心)