0

KNIME SDK を使用して KNIME のノード拡張機能を作成しています (これは Eclipse を適応させただけです)。コードは完成しました。Eclipse でテストしたところ、完全に機能しました。そこで、それをエクスポートし、KNIME インストール.jarのサブフォルダーにコピーして、KNIME を開始しました。dropins新しいワークフローを作成し、ノードを追加して実行しようとすると、次のエラーが表示されました。

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 フォーラムのスレッドによると、同様の問題は、matlabcontrol私が使用している同じフレームワーク (エラーで言及されているもの) に基づいて構築されているコミュニティ拡張機能「Matlab Snippet」でも発生します。

プロジェクトに をパッケージとして含めることで問題を回避しようとしましたmatlabcontrol(これはオープン ソースなので、ソースをインポートするだけで済みます)。その後、同じエラーが表示.jarされ、OSGI システムによって作成されたパッケージ (私の場合、matlab.jarこれは) で選択した名前build.propertiesなので、アルファベット順で最初の名前であり、OSGI バンドル フォルダー内のすべてのファイルがこの問題の影響を受けていると思います。

私を混乱させているのは、ノードを実行して MATLAB に接続しようとしたときにのみ問題が発生することです。残念ながら、上記のリンク先の KNIME フォーラム スレッドでは問題が解決されていないようです。明らかに、その拡張機能の古いバージョンには問題がなく、ユーザーは古いバージョンをインストールしただけです。

では、どうにかして URL を正しく URI に変換することはできますか? 保護ドメインが原因ですか?変更できますか? デフォルトのクラスローダーと何か関係がありますか?


フォルダー内の機能を介してプラグインをインストールしました(コメントを参照)。エラーは解決しませんが、パスが変更されました:

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
4

0 に答える 0