资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

安装及调用Matlab程序可能存在的问题解决办法-创新互联

无法执行本地调用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页面中,方便自己调用。当然了,有功夫的可以去使用框架,就避免了这类问题,直接通过框架获取返回值。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:安装及调用Matlab程序可能存在的问题解决办法-创新互联
分享地址:http://cdkjz.cn/article/cesedh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220