Hi,
I'm trying to generate some plugins using a custom code-generator and *without GUI* . When I put my plugin a.b.c_2015.02.16.jar into knime/plugins, I get the following error on startup:
ERROR Worker-1 RepositoryManager Node a.b.c.linux.head.HeadNodeFactory' from plugin 'a.b.c' could not be created: Can't load factory class for node: a.b.c.linux.head.HeadNodeFactory The corresponding plugin bundle could not be activated!
Here is the content of 'a.b.c_2015.02.16.jar'
$ jar tvf a.b.c_2015.02.16.jar 0 Mon Feb 16 16:11:00 CET 2015 META-INF/ 633 Mon Feb 16 16:11:00 CET 2015 META-INF/MANIFEST.MF 492 Mon Feb 16 16:11:00 CET 2015 plugin.xml 23602 Mon Feb 16 16:11:00 CET 2015 a_b_c.jar
with META-INF/MANIFEST.MF
Manifest-Version: 1.0 Export-Package: a.b.c Bundle-ActivationPolicy: lazy Bundle-ClassPath: a_b_c.jar Bundle-Name: idp640 Created-By: 1.7.0_60 (Oracle Corporation) Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Require-Bundle: org.eclipse.core.runtime,org.knime.workbench.core,org. knime.workbench.repository,org.knime.base Bundle-Vendor: Me Bundle-Version: 2015.02.16 Bundle-ManifestVersion: 2 Bundle-Activator: a.b.c.linux.head.HeadNodePlugin Bundle-SymbolicName: a.b.c; singleton:=true
and plugin.xml:
<?xml version="1.0"?> <?eclipse version="3.0" ?><plugin> <extension point="org.knime.workbench.repository.categories"> <category level-id="linux" name="linux" path="/community/" description="linux"/> </extension> <extension point="org.knime.workbench.repository.nodes"> <node category-path="/community/linux" factory-class="a.b.c.linux.head.HeadNodeFactory" id="a.b.c.linux.head.HeadNodeFactory"/> </extension> </plugin>
inside a_b_c.jar, there is :
0 Mon Feb 16 16:11:00 CET 2015 META-INF/ 68 Mon Feb 16 16:11:00 CET 2015 META-INF/MANIFEST.MF 0 Mon Feb 16 16:10:58 CET 2015 com/ 0 Mon Feb 16 16:10:58 CET 2015 com/github/ 0 Mon Feb 16 16:10:58 CET 2015 com/github/lindenb/ 0 Mon Feb 16 16:10:58 CET 2015 com/github/lindenb/jvarkit/ 0 Mon Feb 16 16:11:00 CET 2015 a/b/c/ 0 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/ 0 Mon Feb 16 16:11:00 CET 2015 a/b/c/linux/head/ 858 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/HeadNodeFactory.xml 2296 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/HeadNodePlugin.java 1989 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/HeadNodeFactory.java 4338 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/HeadNodeDialog.java 8097 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/AbstractHeadNodeModel.java 2749 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/HeadNodeModel.java 338 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/default.png 1005 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/HeadNodeDialog$1.class 2980 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/HeadNodeDialog.class 1864 Mon Feb 16 16:10:58 CET 2015 a/b/c/linux/head/HeadNodeFactory.class 2326 Mon Feb 16 16:11:00 CET 2015 a/b/c/linux/head/HeadNodeModel.class 6459 Mon Feb 16 16:11:00 CET 2015 a/b/c/linux/head/AbstractHeadNodeModel.class 869 Mon Feb 16 16:11:00 CET 2015 a/b/c/linux/head/HeadNodePlugin.class 6210 Mon Feb 16 16:10:58 CET 2015 a/b/c/AbstractNodeModel.java 7148 Mon Feb 16 16:11:00 CET 2015 a/b/c/AbstractNodeModel.class
I don't know much things about OSGI. What am I missing ? I tried to compare with a simple Node created with the SDK but I can't see a clear difference at first sight.
What could cause this " Can't load factory class for node: a.b.c.linux.head.HeadNodeFactory The corresponding plugin bundle could not be activated!" ? Can I add some logging/debugging options ?
Thanks !
Pierre