knime-mpicbg / knime-scripting

knime-scripting includes scripting extensions for KNIME to integrate R, Matlab, Python and Groovy scripts. These extensions include a collection of nodes to develop and deploy templates in the respective languages.
https://github.com/knime-mpicbg/knime-scripting/wiki
Other
43 stars 25 forks source link

Matlab jmi ClassLoader problem #63

Closed fmeyenhofer closed 8 years ago

fmeyenhofer commented 9 years ago

Even though the scripting integration 2.0.3 work while running them from eclipse, the following error occurs once the plugin is deployed via a normal knime installation:

2015-03-01 14:38:01,426 DEBUG KNIME-Worker-2 Open in Matlab : Execute failed: Support code location could not be determined. Could not convert from URL to URI location.
URL Location: file:/Users/turf/Desktop/KNIME 2.11.2/plugins/de.mpicbg.knime.scripting.matlab.srv_2.0.3.201502241335/lib/matlabcontrol-4.1.0.jar
Code Source: (file:/Users/turf/Desktop/KNIME 2.11.2/plugins/de.mpicbg.knime.scripting.matlab.srv_2.0.3.201502241335/lib/matlabcontrol-4.1.0.jar <no signer certificates>)
Protection Domain: ProtectionDomain  (file:/Users/turf/Desktop/KNIME 2.11.2/plugins/de.mpicbg.knime.scripting.matlab.srv_2.0.3.201502241335/lib/matlabcontrol-4.1.0.jar <no signer certificates>)
null
<no principals>
java.security.AllPermissionCollection@3f305bbe (
("java.security.AllPermission" "<all permissions>" "<all actions>")
)
niederle commented 9 years ago

this error message is due to a space in the KNIME installation path and can only be fixed by people from matlabcontrol (see: https://code.google.com/p/matlabcontrol/issues/detail?id=26)

ghost commented 9 years ago

Yes, I can confirm that it has to do with a space in the path (C:/Program Files/Knime/KNIME64bit/configuration/org.eclipse.osgi/bundles/702/1/.cp/lib/matlabcontrol-4.1.0.jar). Moving helps (Knime 2.11.3, Matlab 2015a).

niederle commented 8 years ago

check if that github project might have solved the problem (or might do it) as I cannot find the matlabcontrol project anymore (dead?)

https://github.com/diffplug/matconsolectl

email to Georg Roeder when solved

fmeyenhofer commented 8 years ago

6934d5f3d50e2d5aa86d839ddbaaace51c223c8b is the fix, now merged into develop branch.

It was tested for KNIME 3.1.2 on Mac with MATLAB 2016a, as well as on Windows7 with MATLAB 2013b.