[SOLVED] Extension development: Cannot create operator description

leitold
leitold New Altair Community Member
edited November 2024 in Community Q&A
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

Answers

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

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

    Regards,
    Marco
  • leitold
    leitold New Altair Community Member
    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...

    Thanks!
    jlennex

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.