Hello,
I have begun to implement a new learner for Rapidminer. So far, I have followed the various tutorials on the web and was able to set up Eclipse / Subclipse with RM 5. Basic development works fine, I can change code on-the-fly and it will show up in RM when launched from Eclipse. I have to say that while I have experience with C, C++ etc., this is my first contact with Java development.
So far I could not get my own extension to work. As a start, I have simply started with a copy of the LinearRegression operator. I have renamed everything accordingly, so Eclipse does not show me any errors with the source code. I have also placed and entry for my operator in OperatorsCore.xml and the corresponding description in OperatorsCoreDocumentation.xml. However, when I start RM, my new operator is not shown. Instead, I simply get an error message in the log:
WARNING: Cannot create operator description: RapidMiner Core : string_method java.lang.ClassNotFoundException: com.rapidminer.operator.learner.functions.linear.StringMethod at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at com.rapidminer.operator.OperatorDescription.<init>(OperatorDescription.java:93) at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:300) at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293) at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293) at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293) at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:293) at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:269) at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:231) at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:204) at com.rapidminer.tools.OperatorService.init(OperatorService.java:133) at com.rapidminer.RapidMiner.init(RapidMiner.java:559) at com.rapidminer.gui.RapidMinerGUI.run(RapidMinerGUI.java:241) at com.rapidminer.gui.RapidMinerGUI.launch(RapidMinerGUI.java:560) at com.rapidminer.gui.RapidMinerGUI.main(RapidMinerGUI.java:541) |
What is it I have missed? Why is the new class I have defined not found? I know that in the end, I will have to put all my stuff in a plugin and create a .jar for it, but so far I figure development is easier that way.
Thanks!
jlennex