"Problems with building an Extension"

milkov
milkov New Altair Community Member
edited November 5 in Community Q&A
Hello,

I'm a student and my latest task is to build a new extension for RapidMiner implementing some of my profesors methods.

I've have been carefully following all the instructions I could find online, but I've reached a problem I can't solve. When I try to run createjar from build.xml of RapidMiner_Extension_Template I get following output:

Buildfile: C:\Users\vizour\workspace\RapidMiner_Extension_Template\build.xml
clean:
    [echo] Cleaning...
  [delete] Deleting directory C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
  [delete] Deleting directory C:\Users\vizour\workspace\RapidMiner_Extension_Template\javadoc
    [mkdir] Created dir: C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
    [mkdir] Created dir: C:\Users\vizour\workspace\RapidMiner_Extension_Template\javadoc
version.get:
    [echo] Long version: ${extension.version}.${extension.revision}.${extension.update}; short version: ${extension.version}.${extension.revision}
init.setEncoding:
init:
Trying to override old definition of task get
Trying to override old definition of task rpm
Trying to override old definition of task post
init.setEncoding:
copy-resources:
    [echo] Copying resources...
    [copy] Copying 9 files to C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
changes.testExistence:
merge.changes:
build:
build.rm:
version.get:
    [echo] Long version: 5.3.000; short version: 5.3
init:
Trying to override old definition of task downloadOperatorDocumentation
Trying to override old definition of task get
Trying to override old definition of task post
Trying to override old definition of task head
Trying to override old definition of task put
Trying to override old definition of task rpm
Trying to override old definition of task post
copy-resources:
    [echo] Copying resources...
version.updateFiles:
    [echo] Updating to version 5.3.000
check.newDocumentationPresent:
create-documentation:
merge.changes:
    [echo] Merging all changes files
build:
    [echo] RapidMiner: Compile with Java from dir: C:\eclipse\jre
    [echo] RapidMiner: using Java version: 1.7.0_09
    [javac] Compiling 12 source files to C:\Users\vizour\workspace\RapidMiner_Unuk\build

BUILD FAILED
C:\Users\vizour\workspace\RapidMiner_Unuk\build_extension.xml:139: The following error occurred while executing this line:
C:\Users\vizour\workspace\RapidMiner_Unuk\build_extension.xml:204: The following error occurred while executing this line:
C:\Users\vizour\workspace\RapidMiner_Unuk\build.xml:174: Error running javac.exe compiler

Total time: 3 seconds
I have read some topics about it here and checked all the answers to this topis i could find:
- my RapidMiner resources are up to date (checked out today)
- I'm using java 1.7
- I changed Vega to Unuk in build.xml
- I added <exclude name="**/*" /> to build.xml

Is there anything I missed? I will be happy for any help you can provide me. :)

Thank you,
Milan

Answers

  • Nils_Woehler
    Nils_Woehler New Altair Community Member
    Hi Milan,

    if your build.xml still referenced RapidMiner_Vega, than it definitly is not up to date.
    Try using this one:

    <project name="RapidMiner_Plugin_Template_Unuk" default="install">
    <description>Build file for the RapidMiner Template extension</description>

    <presetdef name="javac">
        <javac includeantruntime="false" />
      </presetdef>

    <property name="rm.dir" location="../RapidMiner_Unuk" />

    <property name="build.build" location="build" />
    <property name="build.resources" location="resources" />
    <property name="build.lib" location="lib" />

    <property name="check.sources" location = "src" />

    <property name="javadoc.targetDir" location="javadoc" />

    <property name="extension.name" value="Template" />
    <property name="extension.name.long" value="RapidMiner Template Extension" />
    <property name="extension.namespace" value="template" />
        <property name="extension.vendor" value="rapid-i" />

    <property name="extension.needsVersion" value="5.3" />
    <property name="extension.dependencies" value="" />

    <!-- Uncomment if the extension actually depends on other extensions -->
    <!-- property name="build.dependentExtensions" value="true" /> -->

    <property name="extension.initClass" value="com.rapidminer.PluginInitTemplate" />
    <property name="extension.objectDefinition" value="/com/rapidminer/resources/ioobjectsTemplate.xml" />
    <property name="extension.operatorDefinition" value="/com/rapidminer/resources/OperatorsTemplate.xml" />
    <property name="extension.parseRuleDefinition" value="/com/rapidminer/resources/parserulesTemplate.xml" />
    <property name="extension.groupProperties" value="/com/rapidminer/resources/groupsTemplate.properties" />
    <property name="extension.errorDescription" value="/com/rapidminer/resources/i18n/ErrorsTemplate.properties" />
    <property name="extension.userErrors" value="/com/rapidminer/resources/i18n/UserErrorMessagesTemplate.properties" />
    <property name="extension.guiDescription" value="/com/rapidminer/resources/i18n/GUITemplate.properties" />


    <!-- Src files -->
    <path id="build.sources.path">
    <dirset dir="src">
    <include name="**" />
    </dirset>
    </path>
    <fileset dir="src" id="build.sources">
    <include name="**/*.java" />
    </fileset>
    <fileset id="build.dependentExtensions" dir="..">
    <exclude name="**/*"/>
    </fileset>

    <import file="${rm.dir}/build_extension.xml" />
    </project>
    Best,
    Nils
  • milkov
    milkov New Altair Community Member
    Hello Nils,

    thank you for your answer. Unfortunately even this build.xml file produced the "same" output:

    Buildfile: C:\Users\vizour\workspace\RapidMiner_Extension_Template\build.xml
    Trying to override old definition of task javac
    clean:
        [echo] Cleaning...
      [delete] Deleting directory C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
      [delete] Deleting directory C:\Users\vizour\workspace\RapidMiner_Extension_Template\javadoc
        [mkdir] Created dir: C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
        [mkdir] Created dir: C:\Users\vizour\workspace\RapidMiner_Extension_Template\javadoc
    version.get:
        [echo] Long version: ${extension.version}.${extension.revision}.${extension.update}; short version: ${extension.version}.${extension.revision}
    init.setEncoding:
    init:
      [taskdef] Could not load definitions from resource antlib.xml. It could not be found.
      [taskdef] Could not load definitions from resource org/freecompany/redline/ant/antlib.xml. It could not be found.
        [copy] Warning: Could not find file C:\Users\vizour\workspace\RapidMiner_Extension_Template\ant\jsch-0.1.42.jar to copy.
    init.setEncoding:
    copy-resources:
        [echo] Copying resources...
        [copy] Copying 9 files to C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
    changes.testExistence:
    merge.changes:
    build:
    build.rm:
    version.get:
        [echo] Long version: 5.3.000; short version: 5.3
    init:
    Trying to override old definition of task get
    Trying to override old definition of task post
    Trying to override old definition of task rpm
    Trying to override old definition of task post
    copy-resources:
        [echo] Copying resources...
    version.updateFiles:
        [echo] Updating to version 5.3.000
    check.newDocumentationPresent:
    create-documentation:
    merge.changes:
        [echo] Merging all changes files
    build:
        [echo] RapidMiner: Compile with Java from dir: C:\eclipse\jre
        [echo] RapidMiner: using Java version: 1.7.0_09
        [javac] Compiling 12 source files to C:\Users\vizour\workspace\RapidMiner_Unuk\build

    BUILD FAILED
    C:\Users\vizour\workspace\RapidMiner_Unuk\build_extension.xml:139: The following error occurred while executing this line:
    C:\Users\vizour\workspace\RapidMiner_Unuk\build_extension.xml:204: The following error occurred while executing this line:
    C:\Users\vizour\workspace\RapidMiner_Unuk\build.xml:174: Error running javac.exe compiler

    Total time: 10 seconds
    Buildfile: C:\Users\vizour\workspace\RapidMiner_Extension_Template\build.xml
    Trying to override old definition of task javac
    clean:
        [echo] Cleaning...
      [delete] Deleting directory C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
      [delete] Deleting directory C:\Users\vizour\workspace\RapidMiner_Extension_Template\javadoc
        [mkdir] Created dir: C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
        [mkdir] Created dir: C:\Users\vizour\workspace\RapidMiner_Extension_Template\javadoc
    version.get:
        [echo] Long version: ${extension.version}.${extension.revision}.${extension.update}; short version: ${extension.version}.${extension.revision}
    init.setEncoding:
    init:
      [taskdef] Could not load definitions from resource antlib.xml. It could not be found.
      [taskdef] Could not load definitions from resource org/freecompany/redline/ant/antlib.xml. It could not be found.
        [copy] Warning: Could not find file C:\Users\vizour\workspace\RapidMiner_Extension_Template\ant\jsch-0.1.42.jar to copy.
    init.setEncoding:
    copy-resources:
        [echo] Copying resources...
        [copy] Copying 9 files to C:\Users\vizour\workspace\RapidMiner_Extension_Template\build
    changes.testExistence:
    merge.changes:
    build:
    build.rm:
    version.get:
        [echo] Long version: 5.3.000; short version: 5.3
    init:
    Trying to override old definition of task get
    Trying to override old definition of task post
    Trying to override old definition of task rpm
    Trying to override old definition of task post
    copy-resources:
        [echo] Copying resources...
    version.updateFiles:
        [echo] Updating to version 5.3.000
    check.newDocumentationPresent:
    create-documentation:
    merge.changes:
        [echo] Merging all changes files
    build:
        [echo] RapidMiner: Compile with Java from dir: C:\eclipse\jre
        [echo] RapidMiner: using Java version: 1.7.0_09
        [javac] Compiling 12 source files to C:\Users\vizour\workspace\RapidMiner_Unuk\build

    BUILD FAILED
    C:\Users\vizour\workspace\RapidMiner_Unuk\build_extension.xml:139: The following error occurred while executing this line:
    C:\Users\vizour\workspace\RapidMiner_Unuk\build_extension.xml:204: The following error occurred while executing this line:
    C:\Users\vizour\workspace\RapidMiner_Unuk\build.xml:174: Error running javac.exe compiler

    Total time: 10 seconds
    Do you have any idea why it does that?

    Thank you :)
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    to compile a Java program you need the Java JDK - not the JRE. Right-click your Ant target, select "Run As" - "External Tools Configurations...", go to the "JRE" tab and select your Java 7 JDK.

    Regards,
    Marco