Matlab MCR 缺少内部 class
Matlab MCR missing internal class
在安装并配置了 MCR 8.3 的 Ubuntu 机器上执行 Matlab,出现以下错误:
The class "internal.optim" is undefined.
Perhaps Java is not running.
Error in internal.optim.presolve (line 211)
Error in ipqpcommon (line 30)
Error in quadprog (line 353)
Error in mv_low_level_solver_quadprog (line 72)
Error in mv_optim_min_risk (line 47)
Error in Portfolio/estimateFrontierLimits (line 79)
Error in portafoglio (line 63)
... Matlab M-code Stack Trace ...
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/optim/optim/+internal/+optim/presolve.p, name presolve, line 211.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/optim/optim/private/ipqpcommon.p, name ipqpcommon, line 30.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/optim/optim/quadprog.m, name quadprog, line 353.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/finance/finance/@Portfolio/private/mv_low_level_solver_quadprog.p, name mv_low_level_solver_quadprog, line 72.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/finance/finance/@Portfolio/private/mv_optim_min_risk.p, name mv_optim_min_risk, line 47.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/finance/finance/@Portfolio/estimateFrontierLimits.m, name estimateFrontierLimits, line 79.
file /home/zuno/.mcrCache8.3/Portaf0/PortafoglioB/portafoglio.m, name portafoglio, line 63.
com.mathworks.toolbox.javabuilder.MWException: The class "internal.optim" is undefined.
Perhaps Java is not running.
at com.mathworks.toolbox.javabuilder.internal.MWMCR.mclFeval(Native Method)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.access0(MWMCR.java:23)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.mclFeval(MWMCR.java:833)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.invoke(MWMCR.java:731)
at com.sun.proxy.$Proxy39.mclFeval(Unknown Source)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.invoke(MWMCR.java:406)
显然 Java 是 运行,如果我尝试执行其他 Matlab 函数,我没有问题。
可能是什么问题?
更新
如果我使用相同的 MCR 在 Windows 上执行相同的代码...它有效...
我很确定它是在 Windows 上编译的。
从 v83 开始,包含转换后的库的生成的 jar 还包含一个 .ctf 文件,它是一个包含 Windows DLL 的类似 zip 的包。
要解决这个问题,你应该重新编译你的 jar(我知道这听起来很奇怪,因为 java 座右铭到处都是写一次 运行 但是......这不是 java 问题) linux 在 64 位。
干杯,
VD
在安装并配置了 MCR 8.3 的 Ubuntu 机器上执行 Matlab,出现以下错误:
The class "internal.optim" is undefined.
Perhaps Java is not running.
Error in internal.optim.presolve (line 211)
Error in ipqpcommon (line 30)
Error in quadprog (line 353)
Error in mv_low_level_solver_quadprog (line 72)
Error in mv_optim_min_risk (line 47)
Error in Portfolio/estimateFrontierLimits (line 79)
Error in portafoglio (line 63)
... Matlab M-code Stack Trace ...
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/optim/optim/+internal/+optim/presolve.p, name presolve, line 211.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/optim/optim/private/ipqpcommon.p, name ipqpcommon, line 30.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/optim/optim/quadprog.m, name quadprog, line 353.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/finance/finance/@Portfolio/private/mv_low_level_solver_quadprog.p, name mv_low_level_solver_quadprog, line 72.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/finance/finance/@Portfolio/private/mv_optim_min_risk.p, name mv_optim_min_risk, line 47.
file /home/zuno/.mcrCache8.3/Portaf0/toolbox/finance/finance/@Portfolio/estimateFrontierLimits.m, name estimateFrontierLimits, line 79.
file /home/zuno/.mcrCache8.3/Portaf0/PortafoglioB/portafoglio.m, name portafoglio, line 63.
com.mathworks.toolbox.javabuilder.MWException: The class "internal.optim" is undefined.
Perhaps Java is not running.
at com.mathworks.toolbox.javabuilder.internal.MWMCR.mclFeval(Native Method)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.access0(MWMCR.java:23)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.mclFeval(MWMCR.java:833)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.invoke(MWMCR.java:731)
at com.sun.proxy.$Proxy39.mclFeval(Unknown Source)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.invoke(MWMCR.java:406)
显然 Java 是 运行,如果我尝试执行其他 Matlab 函数,我没有问题。 可能是什么问题?
更新 如果我使用相同的 MCR 在 Windows 上执行相同的代码...它有效...
我很确定它是在 Windows 上编译的。 从 v83 开始,包含转换后的库的生成的 jar 还包含一个 .ctf 文件,它是一个包含 Windows DLL 的类似 zip 的包。 要解决这个问题,你应该重新编译你的 jar(我知道这听起来很奇怪,因为 java 座右铭到处都是写一次 运行 但是......这不是 java 问题) linux 在 64 位。
干杯, VD