最近几天尽跟matlab做斗争去了,好不容易有点结果了,拿着matlab的东西往java里一运行,直接报错了:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Failed to find the library mclmcrrt7_14.dll, required by MATLAB Builder JA, on java.library.path. This library is typically installed along with MATLAB or the MCR, its absence may indicate an issue with that installation or the current path configuration. The MCR version that this component is trying to use is: 7.14. at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ProxyLibraryDir.get(MCRConfiguration.java:167) at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ProxyLibraryDir.<clinit>(MCRConfiguration.java:173) at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getProxyLibraryDir(MCRConfiguration.java:178) at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$MCRRoot.get(MCRConfiguration.java:77) at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$MCRRoot.<clinit>(MCRConfiguration.java:87) at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getMCRRoot(MCRConfiguration.java:92) at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ModuleDir.<clinit>(MCRConfiguration.java:66) at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getModuleDir(MCRConfiguration.java:71) at com.mathworks.toolbox.javabuilder.internal.MWMCR.<clinit>(MWMCR.java:1549) at operation.OperationMCRFactory.newInstance(OperationMCRFactory.java:49) at operation.OperationMCRFactory.newInstance(OperationMCRFactory.java:60) at operation.operation.<init>(operation.java:63) at com.matlab4j.TestMatlab4j.main(TestMatlab4j.java:11)
网上一查说是jre版本的问题。的确,我的matlab是64位的(因为我的系统是64位的), jre也是64位的,但我本地的jdk却是32位的(感觉有点怪怪的)。后来装了64位的jdk1.8,再执行项目就没有问题了。果然还是jre的问题啊。
关于怎么看jre的版本:
在matlab里面:在工具栏中找到Window----Common Window,然后在命令行中输入: version -java,回车,就可以看到java版本啦。我这里的版本是:Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
查看本地java版本:这个很简单,cmd--(如果有设置环境变量,直接)java -version,回车。我这里的情况:
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
也可以用java代码来查:
public class Test{ public static void main(String[] args){ String arch = System.getProperty("sun.arch.data.model"); System.out.println(arch); } }
我以前是32位的,输出32。现在是64位的,输出64。
另外还有一个挺傻的问题:一个电脑上是可以装很多版本的jdk的,不需要写在以前的老版,因为新版本不会替换旧版本。我开始的时候还傻傻的以为会冲突,就把老版本的1.6给卸载了。后来某人说可以不用卸载直接装1.8个没有问题,考虑到好多项目用的都是1.6的环境,我又重新给装回来了,然后通过环境变量、MyEclipse的jre配置来控制用那个版本的。可能大家比我聪明,也可能有跟我一样滴,在这里写一下,跟我一样滴就别再犯傻了啊。
相关推荐
由于本机安装的jdk版本与tomcat中使用的jdk版本不一致导致的。 解决方法 后面我把原先tomcat启动环境用的jdk1.7改为了本机安装的jdk1.8就不在报错。 具体过程: 在myeclipse中点击window→preference→在搜索框中...
Java中的`java.lang.UnsatisfiedLinkError`是一个常见的运行时异常,通常出现在Java试图加载本地(C或C++)库但找不到相应的库文件时。这个错误可能是由于多种原因引起的,如库路径设置不正确、库文件不存在或者版本...
解决方案:Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeCo
Java.lang.UnsatisfiedLinkError是一种常见的错误类型,通常发生在Java应用程序中,当Java程序尝试加载Native库或DLL文件时,可能会出现这种错误。本文将详细介绍Java.lang.UnsatisfiedLinkError的解决方法,主要...
loadLibrary msc error:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.example.xflinean-1/base.apk”],nativeLibraryDirectories=[/vendor/lib, /system/...
我在进行MapReduce本地测试的时候,遇见下面的报错: ...解决方法:①第一步:在项目工程中加入NativelO.java,注意包名必须与源码中一致 ②第二步:将access方法的返回值改为true,不让他去调用access0() 类似
本文件夹专为以下错误对症下药。...Exception in thread "VFW Request Thread" java.lang.UnsatisfiedLinkError: JMFSecurityManager: java.lang.UnsatisfiedLinkError: no jmvfw in java.library.path
Java中的`java.lang.UnsatisfiedLinkError`是一个常见的运行时异常,通常出现在Java试图加载本地(C或C++)库时找不到相应的函数或者方法。在Android开发中,尤其是在使用JNI(Java Native Interface)进行跨语言...
解决java引入sigar运行时报错"java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Mem.gather",将压缩包解压后,放入本地项目lib中即可解决该类问题,该jar包由官网下载
本文详细介绍从编译动态库(.so)到程序调用so的整个流程,模拟在加载虹软人脸识别so文件时经常遇到的一些问题,帮助大家了解这些问题出现的原因以及解决方法。 一、 ArcFace库加载常见错误 1.1 找不到动态库 java....
AndroidRuntime: java.lang.UnsatisfiedLinkError: Couldn’t load airtalkee from loader dalvik.system.PathClassLoader[DexPathList[[zip file “/system/app/POCM3A.apk”, zip file “/data/data/com.cmccpo
UnsatisfiedLinkError exception loading native library: njni10 java.lang.UnsatisfiedLinkError: jniGetOracleHome
Window系统无法调用OpenCV代码报错:java.lang.UnsatisfiedLinkError: Directory separator should not appear in library name: C:\Windows\System32\opencv_java343.dll。出现该问题主要是安装的Windows系统缺乏...
`java.util.concurrent.ExecutionException` 是Java并发编程中一个常见的异常,通常在执行Future对象的get()方法时抛出。这个异常表明在异步任务的执行过程中发生了异常。当我们使用ExecutorService提交任务并尝试...
Java调用VTK(Visualization Toolkit)是一种在Java应用程序中实现三维可视化的方法。VTK是一个开源的,跨平台的库,广泛用于科学数据和图像处理,它提供了强大的图形渲染和建模功能。以下是对如何在Java中集成和...
安装jpcap报错:Exception in thread "main" java.lang.UnsatisfiedLinkError: C:/Windows/System32/Jpcap.dll: Can't find dependent libraries 解决办法。