[SOLVED] Extension development: Cannot create operator description

leitoldleitold Member Posts: 22 Contributor II
edited August 2019 in Help

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.



  • Options
    Marco_BoeckMarco_Boeck Administrator, Moderator, Employee, Member, University Professor Posts: 1,996 RM Engineering

    weird. Are you sure com.rapidminer.operator.learner.functions.linear.StringMethod is the correct path to your new operator java class?

  • Options
    leitoldleitold Member Posts: 22 Contributor II
    Hello again,

    thanks a lot, I have found the error. Apparently, I had the path wrong after all, and that after triple-or-whatever-checking it again and again...

Sign In or Register to comment.