首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MATLAB JA Builder在MCRConfiguration中抛出NullPointerException

MATLAB JA Builder在MCRConfiguration中抛出NullPointerException
EN

Stack Overflow用户
提问于 2011-04-16 21:19:35
回答 2查看 1.4K关注 0票数 3

我正在尝试使用JA Builder从Java执行一个MATLAB函数。

我遵循了MATLAB JA Builder帮助文档- HelloWorld和MagicSquare示例,每次都收到以下堆栈跟踪:

代码语言:javascript
运行
复制
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getProxyLibraryDir(MCRConfiguration.java:163)
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:1573)
at com.mathworks.toolbox.javabuilder.MWUtil.GetUnknownClassID(MWUtil.java:727)
at com.mathworks.toolbox.javabuilder.MWClassID.<clinit>(MWClassID.java:41)
at getmagic.main(getmagic.java:36)
Caused by: java.lang.NullPointerException
    at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ProxyLibraryDir.get(MCRConfiguration.java:143)
    at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ProxyLibraryDir.<clinit>(MCRConfiguration.java:158)
    ... 10 more

getmagic.java中的第36行是:

代码语言:javascript
运行
复制
n = new MWNumericArray(Double.valueOf(args[0]), MWClassID.DOUBLE);

是否需要包含另一个JAR或一组配置文件?按照MATLAB JA Builder帮助文档中的说明,该程序当前从MATLAB引用javabuilder.jar和编译后的magicsquare.jar。

有什么想法吗?谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-07-05 06:13:54

您需要配置以下环境变量:

LD_LIBRARY_PATH

XAPPLRESDIR

当安装MCR时,安装程序会告诉你他们需要的值(这取决于你的mcrroot,安装MCR的目录)。例如,用于/usr/local/MATLAB/集合

代码语言:javascript
运行
复制
export XAPPLRESDIR=/usr/local/MATLAB/MATLAB_Compiler_Runtime/v81/X11/app-defaults
票数 2
EN

Stack Overflow用户

发布于 2016-05-13 18:34:52

这个设置在Linux上对我有效:

代码语言:javascript
运行
复制
export LD_LIBRARY_PATH=/usr/lib/matlab-8.6/runtime/glnxa64 \
       /usr/lib/matlab-8.6/bin/glnxa64 \
       /usr/lib/matlab-8.6/sys/os/glnxa64 \
       /usr/lib/matlab-8.6/sys/opengl/lib/glnxa64

您可以在http://www.mathworks.com/help/compiler_sdk/java/mcr-path-settings-for-run-time-deployment.html上找到其他OSes的说明

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5686761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档