IOObjectReader does not work with plugin classes

UsernameUsername Member Posts: 39  Guru
edited November 2018 in Help
Hi,

I am writing a custom plugin for RM. The IOObjectReader operator does not work with IOObjects from my plugin. The operator throws a ClassNotFoundException in line 65 (I'm using the built in Java object serialization). Everything else from my plugin works without problems.

Here's the stack trace of the exception:

Exception: java.lang.ClassNotFoundException
Message: de.unidue.inf.classification.data.common.Documents
Stack trace:

  java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  java.security.AccessController.doPrivileged(Native Method)
  java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
  java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  java.lang.Class.forName0(Native Method)
  java.lang.Class.forName(Class.java:247)
  java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
  java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
  java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
  java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
  java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
  com.rapidminer.operator.io.IOObjectReader.apply(IOObjectReader.java:65)
  com.rapidminer.operator.Operator.apply(Operator.java:664)
  com.rapidminer.operator.OperatorChain.apply(OperatorChain.java:377)
  com.rapidminer.operator.Operator.apply(Operator.java:664)
  com.rapidminer.Process.run(Process.java:612)
  com.rapidminer.Process.run(Process.java:582)
  com.rapidminer.Process.run(Process.java:572)
  com.rapidminer.gui.ProcessThread.run(ProcessThread.java:61)


Thanks
Tagged:

Answers

  • IngoRMIngoRM Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, Community Manager, RMResearcher, Member, University Professor Posts: 1,642  RM Founder
    Hello,

    I am assuming that you have written the object with the IOObjectWriter. Does your new IOObject extend AbstractIOObject? This is probably necessary if the generic IOObject writing and reading properly works.

    As a workaround you could of course always write a pair of Reading / Writing operators for your object yourself - but of course if would be easier to use the generic ones. So we should try to get this working.

    Cheers,
    Ingo
Sign In or Register to comment.