Eclipse plugin KNIME节点扩展无法执行:";“无法确定支持代码位置”;

Eclipse plugin KNIME节点扩展无法执行:";“无法确定支持代码位置”;,eclipse-plugin,knime,java-security,Eclipse Plugin,Knime,Java Security,我正在使用KNIME SDK为KNIME创建一个节点扩展(它只是一个经过修改的Eclipse)。我已经完成了我的代码,我在Eclipse中测试了它,它工作得非常好。因此我导出了它,将.jar复制到KNIME安装中的子文件夹dropins,并启动了KNIME。创建了一个新工作流,添加了我的节点,尝试执行它,然后出现以下错误: Execute failed: Support code location could not be determined. Could not convert from U

我正在使用KNIME SDK为KNIME创建一个节点扩展(它只是一个经过修改的Eclipse)。我已经完成了我的代码,我在Eclipse中测试了它,它工作得非常好。因此我导出了它,将
.jar
复制到KNIME安装中的子文件夹
dropins
,并启动了KNIME。创建了一个新工作流,添加了我的节点,尝试执行它,然后出现以下错误:

Execute failed: Support code location could not be determined. Could not convert from URL to URI location. 
URL Location: file:/C:/Program Files/KNIME_2.11.2/configuration/org.eclipse.osgi/bundles/528/1/.cp/matlabcontrol-4.1.0.jar
Code Source: (file:/C:/Program Files/KNIME_2.11.2/configuration/org.eclipse.osgi/bundles/528/1/.cp/matlabcontrol-4.1.0.jar <no signer certificates>)
Protection Domain: ProtectionDomain  (file:/C:/Program Files/KNIME_2.11.2/configuration/org.eclipse.osgi/bundles/528/1/.cp/matlabcontrol-4.1.0.jar <no signer certificates>)
 null 
 <no principals>  
 java.security.AllPermissionCollection@6ac1c077 (  
 ("java.security.AllPermission" "<all permissions>" "<all actions>") 
)   


Class Loader: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@b836456
Class Loader Class: class org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader

一些KNIME捆绑包最佳实践:为捆绑包创建一个功能,并可能创建一个更新站点来安装该功能(最好不要再使用
dropins
文件夹);尝试将依赖项用作OSGi捆绑包,特别是如果其他插件也使用它(不确定Matlab插件,希望他们也遵循此建议)。关于URL到URI的问题:您尝试过没有空格/特殊字符的路径吗?@GáborBakos非常感谢,不幸的是,我不得不以艰苦的方式学习KNIME节点开发,通过这样做和查看开放源代码,我无法找到任何解释,因此我不知道最佳实践。如果没有dropins文件夹,如何安装?KNIME网站没有描述任何不同的方式。。。URL/URI实际上并不是我节点的一部分,我认为这是默认类加载器加载插件时所做的事情或其他事情。。。您可以找到一个简单的项目与功能和更新网站项目。如果您构建了更新站点(可能也是源功能),您可以将其托管在网站上,或者将其作为文件夹保存。安装方式与其他扩展相同,添加更新站点URL(可以是
file://...
)并安装该功能。每个插件都有一个不同的类加载器,所以你对主要问题的看法可能是对的。尝试在Eclipse和KNIME中安装。在Eclipse中,它工作正常,在KNIME中,它失败了,并显示了一个错误,表明它没有找到文件
fropins/matlab.jar
。然后,我将整个插件文件夹从Eclipse复制到KNIME。它工作并安装(我有节点),但我原来的错误再次出现,这次使用的路径,我把我的插件。这似乎是一个java安全问题。我已经用新的错误消息更新了问题。
Execute failed: Support code location could not be determined. Could not convert from URL to URI location.
URL Location: file:/C:/Program Files/KNIME_2.11.2/plugins/org.knime.ext.matlab_1.0.0/matlab.jar
Code Source: (file:/C:/Program Files/KNIME_2.11.2/plugins/org.knime.ext.matlab_1.0.0/matlab.jar <no signer certificates>)
Protection Domain: ProtectionDomain  (file:/C:/Program Files/KNIME_2.11.2/plugins/org.knime.ext.matlab_1.0.0/matlab.jar <no signer certificates>)
 null
 <no principals>
 java.security.AllPermissionCollection@2da869b5 (
 ("java.security.AllPermission" "<all permissions>" "<all actions>")
)


Class Loader: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@372bf03c
Class Loader Class: class org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader