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")