Я написал отличный скрипт, который мне нужно выполнить на матлабе. Я добавил файл groovy-all.jar в JavaClassPath от Matlab, и я могу запустить несколько команд, например, добавить банки для groovy ClassPath, создав массивный консольный объект.Запуск groovy скриптов с matlab
javaaddpath('C:\Users\rx49\Desktop\DoseWatch\QC_Project\Script_QA_images\groovy-all-2.4.7.jar');
javaaddpath('C:\Program Files\Java\jre1.8.0_91\lib\rt.jar');
console=groovy.ui.Console();
pth='C:\Users\rx49\Desktop\DoseWatch\QC_Project\Script_QA_images\file.groovy';
script = javaObject('java.io.File', pth)
console.loadScriptFile(script);
Эта функция console.loadScriptFile принимает в качестве аргумента объект java.io.File. Поэтому я создал один через функцию matlab javaObject. Когда я выполняю приведенный ниже код, matlab отправляет мне следующую ошибку:
??? Java произошло исключение: java.lang.NullPointerException: Невозможно вызвать метод (EDT) на нулевой объект
at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:91)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:35)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:57)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at groovy.ui.Console.loadScriptFile(Console.groovy:649)
Ошибка в ==> run_script на 7 console.loadScriptFile (сценарий);
http://undocumentedmatlab.com/blog/use-groovy-in-matlab? –
Это связано с созданием файла jar, содержащего методы в файле groovy, правильно? –
Я пытался использовать этот API: http://docs.groovy-lang.org/latest/html/gapi/groovy/ui/Console.html –