Call my own operator from rapidminer-studio-core built on eclipse

matsuiakiramatsuiakira MemberPosts:4Contributor I
edited June 2019 inHelp

Hi, everyone.

Since I am developingmy own operator, I need to call it from the rapidminer-studio-core (7.3.0-SNAPSHOT), that has been built on eclipse.

(I followedthis tutorialand successfully built and ran it without any errors.)

However, I cannot see any operators from rapidminer-studio-core's GUI even though I locate the operator's jar file into the specific directory, $HOME/.Rapidminer/extensions. This directory is also used from the original Rapidminer Studio, that has been downloaded from official website, and my operators can be seen from the original Rapidminer Studio.

Does anyone give me advices how to call my extension from rapidminer-studio-core built on eclipse?

RapidMiner_Original.pngRapidMiner_Build.png

Answers

  • matsuiakiramatsuiakira MemberPosts:4Contributor I

    Hi, everyone.

    I found a warning in rapidminer-studio-core's log:

    WARNING: Cannot register operators from MyOwnOperator: RapidMiner Studio dependency not fulfilled! This extension needs RapidMiner Studio version 7.3.000. RapidMiner version is 7.3.000-SNAPSHOT

  • mmichelmmichel Employee, MemberPosts:129RM Engineering

    Hi,

    WARNING: Cannot register operators from MyOwnOperator: RapidMiner Studio dependency not fulfilled! This extension needs RapidMiner Studio version 7.3.000. RapidMiner version is 7.3.000-SNAPSHOT

    The priority of snapshot versions is lower than an actual released version - this is the reason why you are getting this error.

    You can resolve this error by publishing RapidMiner Core 7.3.000-SNAPSHOT to your local repository (gradle publishJarPublicationToMavenLocal) and changing your extension dependency to 7.3.000-SNAPSHOT. If you want to release your extension later on don't forget to remove the snapshot tag.

    Another way, without publishing the artifact, is to modify a Java class of the open core:

    Version.java:

    @Override
    public int compareTo(VersionNumber o) {
    int index = Double.compare(this.majorNumber, o.majorNumber);
    if (index != 0) {
    return index;
    } else {
    index = Double.compare(this.minorNumber, o.minorNumber);
    if (index != 0) {
    return index;
    } else {
    index = Double.compare(this.patchLevel, o.patchLevel);
    if (index != 0) {
    return index;
    }
    // CHANGE THE FOLLOWING LINE
    // to treat development builds as released versions
    return 0;
    }
    }
    }

    and

    public final boolean isSnapshot() {
    // always return true
    return true;
    }

    Hope this helps,

    Marcel

    MartinLiebig
Sign InorRegisterto comment.