白天不懂夜的黑丶 2022-04-11 17:55 采纳率: 50%
浏览 317
已结题

从jar文件执行时,matlabcontrol无法启动MATLAB

public static MatlabProxy open(String pathname, String exe) {
        //MatlabProxyFactoryOptions设置matlab
        MatlabProxyFactoryOptions.Builder builder = new MatlabProxyFactoryOptions.Builder();
        //设置matlab GUI隐藏,Windows操作系统中 MATLAB command window还是会显示(如果想让MATLAB command window也隐藏,需要用到JNA),Linux会全部隐藏
        builder.setHidden(true);
        //设置使用已存在的matlab,设置这个不会运行一次matlab启动一次
        builder.setUsePreviouslyControlledSession(true);
        File file = new File(pathname);
        //设置matlab启动时路径
        builder.setMatlabStartingDirectory(file);
        //设置获取代理的时间,这里的300000有的时候不够,改长一点就可以
        builder.setProxyTimeout(300000);
        builder.setMatlabLocation("E:\\r2021a\\bin\\matlab.exe");
        MatlabProxyFactory factory = new MatlabProxyFactory(builder.build());
        //获取matlab代理(用的是代理模式)
        MatlabProxy proxy = null;
        try {
            proxy = factory.getProxy();
        } catch (MatlabConnectionException e) {
            e.printStackTrace();
        }
        return proxy;
    }

idea 运行都没有问题,打包成jar文件后运行就报错怎么解决求告知
错误信息如下:

matlabcontrol.MatlabConnectionException: Support code location could not be determined. Could not get path from URI location.
URI Location: jar:file:/H:/datamanage-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/matlabcontrol-4.1.0.jar!/
URL Location: jar:file:/H:/datamanage-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/matlabcontrol-4.1.0.jar!/
Code Source: (jar:file:/H:/datamanage-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/matlabcontrol-4.1.0.jar!/ <no signer certificates>)
Protection Domain: ProtectionDomain  (jar:file:/H:/datamanage-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/matlabcontrol-4.1.0.jar!/ <no signer certificates>)
 org.springframework.boot.loader.LaunchedURLClassLoader@31221be2
 <no principals>
 java.security.Permissions@752be45a (
 ("java.util.PropertyPermission" "java.specification.version" "read")
 ("java.util.PropertyPermission" "java.version" "read")
 ("java.util.PropertyPermission" "os.arch" "read")
 ("java.util.PropertyPermission" "java.specification.vendor" "read")
 ("java.util.PropertyPermission" "java.vm.specification.name" "read")
 ("java.util.PropertyPermission" "java.vm.vendor" "read")
 ("java.util.PropertyPermission" "path.separator" "read")
 ("java.util.PropertyPermission" "os.version" "read")
 ("java.util.PropertyPermission" "file.separator" "read")
 ("java.util.PropertyPermission" "line.separator" "read")
 ("java.util.PropertyPermission" "java.vm.specification.vendor" "read")
 ("java.util.PropertyPermission" "java.specification.name" "read")
 ("java.util.PropertyPermission" "java.vendor.url" "read")
 ("java.util.PropertyPermission" "java.vendor" "read")
 ("java.util.PropertyPermission" "java.vm.version" "read")
 ("java.util.PropertyPermission" "java.vm.name" "read")
 ("java.util.PropertyPermission" "java.vm.specification.version" "read")
 ("java.util.PropertyPermission" "os.name" "read")
 ("java.util.PropertyPermission" "java.class.version" "read")
 ("java.net.SocketPermission" "localhost:0" "listen,resolve")
 ("java.lang.RuntimePermission" "stopThread")
 ("java.io.FilePermission" "H:\datamanage-0.0.1-SNAPSHOT.jar" "read")

  • 写回答

7条回答 默认 最新

  • 转瞬即逝的记忆 2022-04-11 19:32
    关注
    获得5.00元问题酬金

    注意一下matlabcontrol-4.1.0.jar这个jar包配置的路径是否正确,依赖库是否build了

    评论

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 赞助了问题酬金30元 4月11日
  • 创建了问题 4月11日

悬赏问题

  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥20 找能定制Python脚本的
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀