"Rapid-Extension won't compile.."

viktorious
viktorious New Altair Community Member
edited November 5 in Community Q&A
Hi there,

i'm a student and i work for a little project in my university i want to write a extension which calculate some values of different attributes.
I have bought the documention: 'how to extend rapidminer 5.0"
I currently stuck on Page 16! I want to compile the "RapidMiner_Extension_Tutorial" for testing. I think the build.xml values are correct, also i have followed al steps for eclipse
in http://rapid-i.com/content/view/25/48/.
But i don't understand how to excacly compile to get a .jar file in \plugins with eclipse.
When I press run 'RapidMiner_Vega' it gave me a bunch of error messages:

May 11, 2011 4:20:35 PM com.rapid_i.Launcher ensureRapidMinerHomeSet
INFO: Property rapidminer.home is not set. Guessing.
May 11, 2011 4:20:35 PM com.rapid_i.Launcher ensureRapidMinerHomeSet
INFO: Trying base directory of classes (build) 'E:\My Dropbox\ALaF Work\workspace\RapidMiner_Vega'...gotcha!
May 11, 2011 4:20:35 PM com.rapidminer.tools.ParameterService init
INFO: Reading configuration resource com/rapidminer/resources/rapidminerrc.
May 11, 2011 4:20:37 PM com.rapidminer.parameter.ParameterTypePassword decryptPassword
WARNING: Password in XML file looks like unencrypted plain text.
May 11, 2011 4:20:39 PM com.rapidminer.tools.plugin.Plugin registerOperators
INFO: No operator descriptor specified for plugin Community. Trying plugin initializtation class com.rapidminer.community.CommunityPluginInit.
May 11, 2011 4:20:39 PM com.rapidminer.tools.plugin.Plugin registerOperators
WARNING: No operator descriptor defined for: Community
May 11, 2011 4:20:39 PM com.rapidminer.tools.OperatorService parseOperators
WARNING: Cannot load operator class: java.lang.NoClassDefFoundError: org/jdom/JDOMException
java.lang.NoClassDefFoundError: org/jdom/JDOMException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.rapidminer.operator.OperatorDescription.<init>(OperatorDescription.java:93)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:259)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:256)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:256)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:256)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:232)
at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:206)
at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:471)
at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:725)
at com.rapidminer.tools.OperatorService.init(OperatorService.java:167)
at com.rapidminer.RapidMiner.init(RapidMiner.java:465)
at com.rapidminer.gui.RapidMinerGUI.run(RapidMinerGUI.java:221)
at com.rapidminer.gui.RapidMinerGUI.launch(RapidMinerGUI.java:505)
at com.rapidminer.gui.RapidMinerGUI.main(RapidMinerGUI.java:488)
Caused by: java.lang.ClassNotFoundException: org.jdom.JDOMException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.rapidminer.tools.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:102)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 16 more
May 11, 2011 4:20:39 PM com.rapidminer.tools.OperatorService parseOperators
WARNING: Cannot load operator class: java.lang.NoClassDefFoundError: com/sun/syndication/io/FeedException
java.lang.NoClassDefFoundError: com/sun/syndication/io/FeedException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.rapidminer.operator.OperatorDescription.<init>(OperatorDescription.java:93)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:259)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:256)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:256)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:232)
at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:206)
at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:471)
at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:725)
at com.rapidminer.tools.OperatorService.init(OperatorService.java:167)
at com.rapidminer.RapidMiner.init(RapidMiner.java:465)
at com.rapidminer.gui.RapidMinerGUI.run(RapidMinerGUI.java:221)
at com.rapidminer.gui.RapidMinerGUI.launch(RapidMinerGUI.java:505)
at com.rapidminer.gui.RapidMinerGUI.main(RapidMinerGUI.java:488)
Caused by: java.lang.ClassNotFoundException: com.sun.syndication.io.FeedException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.rapidminer.tools.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:102)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 15 more
May 11, 2011 4:20:39 PM com.rapidminer.tools.jdbc.JDBCProperties <init>
WARNING: Missing database driver class name for 'ODBC Bridge (e.g. Access)'
May 11, 2011 4:20:39 PM com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
INFO: JDBC driver ca.ingres.jdbc.IngresDriver not found. Probably the driver is not installed.
May 11, 2011 4:20:39 PM com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
INFO: JDBC driver oracle.jdbc.driver.OracleDriver not found. Probably the driver is not installed.
initGui(MainFrame mainFrame)
May 11, 2011 4:20:41 PM com.rapidminer.io.community.MyExperimentConnection connectTo
INFO: Connecting to: http://www.myexperiment.org/workflows.xml?num=100


Can someone help please?
Thank you in advance!
-viktorious

Answers

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    it seems like RapidMiner is missing libraries when trying to start. Can you make sure that all .jar files from the libs folder are actually listed in the RapidMiner Java project's buildpath under library?
    As for the extension: You need to select install in the Ant view from the build.xml - or just edit the build.xml and put
    <project name="your_projectname" default="install">
    as the first row, that way you can start the build via double-click.
    However you also need to build a RapidMiner jar before, to do that just use the build.xml from RapidMiner and select createJar from the list of endless possibilites in the Ant view ;)

    Regards,
    Marco
  • viktorious
    viktorious New Altair Community Member
    thx for the quick reply!
    that helped a bit ;)

    i copied the lib from RapidMiner_vega into RapidMiner_Extension_Tutorial and RapidMiner_Extension_Tutorial.

    If i tried to exeute createJar in RapidMiner_Extension_Tutorial, it gave me the following errors:

    BUILD FAILED
    ...workspace\RapidMiner_Vega\build_extension.xml:122: The following error occurred while executing this line:
    ...workspace\RapidMiner_Vega\build_extension.xml:156: The following error occurred while executing this line:
    ...workspace\RapidMiner_Vega\build.xml:122: Error running javac.exe compiler

    line 122 build_extension.xml is:         <antcall target="build.rm" />
    line 156 build_extension.xml:         <ant antfile="${rm.dir}/build.xml" target="createJar" dir="${rm.dir}" inheritall="false" inheritrefs="false" />
    line 122 build.xml: <javac debug="${compiler.debug}" destdir="${build}" deprecation="${compiler.deprecation}" compiler="${compiler.version}" nowarn="true" fork="true" memorymaximumsize="400m">

    what i'm  doing wrong now? :)

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    I will probably state some obvious things, however we should rule them out anyway ;)

    1. RapidMiner_Vega and your Extension project are two seperate Java projects in Eclipse, and they don't interact. (You will however need to put the RapidMiner project in the buildpath of your extension project, but I assume that has already been done)
    2. You need to have a JDK version 6 installed and setup on your machine (probably best to use the latest, which is jdk6u25 if I recall correctly) - a JRE is NOT sufficient, so make sure Eclipse uses the JDK instead of the JRE.
    3. If you open up the console and type javac and java -version, there must be no error message
    4. The environment variable JAVA_HOME needs to point to your JDK folder
    5. The JDK/bin folder needs to be in your PATH (google these steps if necessary)

    So, now on to the more exciting stuff ;)
    To be able to build your extension project via the delivered ant file "build.xml", you will first need to create the RapidMiner.jar, so Ant can use it as a library and validate the code you wrote.
    To build RapidMiner, you need to execute "build.xml" via ant, not "build_extensions.xml".


    So the order would be:
    - execute createJar from "build.xml" in your RapidMiner_Vega project
    - execute install from "build.xml" in your RapidMiner_Extension_Tutorial project


    Regards,
    Marco
  • viktorious
    viktorious New Altair Community Member
    thank you for your help!
    The problem was the JAVA_HOME and the right order of the ant files.
    I think you should integrate this in your documentation ;)