我可以为扩展项目更改rapidminer5的代码吗?

2131012221310122 成员职位:40大师
2018年12月编辑 帮助

我正在使用RapidMiner5,并希望与RapidMiner5开发扩展项目。

rapidminer5.jpg

为了开发扩展项目,我更改了RapidMiner中的一些代码。因为RapidMiner5中的一些方法是私有的或受保护的。

public1.png

public2.png

我在扩展项目中测试了代码并获得了成功的结果,但是当我在RapidMiner5中构建它以生成插件时,它得到了错误。

从错误消息中,修改后的代码不能正确识别。
puclicerror.png

但是我检查了RapidMiner5中的类文件,这是最新的代码。这个方法现在是“公开的”。
public3.png

为什么会出现这些错误信息呢?

最佳答案

  • jczogallajczogalla 员工,成员职位:144RM工程
    解决方案接受

    @21310122

    我想我现在知道解决办法了……我猜你有RapidMiner5项目在你的扩展的类路径,正确吗?当然,它可以看到你所做的更改。但是,当构建扩展时,它将不使用eclipse构建的类,而是使用rapidminer.jar库。当然,这仍然是未修改的版本。要重新构建rapidminer.jar库,只需执行createJar任务从RapidMiner5项目。这样你的问题就解决了。

    干杯

    1月

答案

  • jczogallajczogalla 员工,成员职位:144RM工程

    我不确定为什么会出现这个错误。但有一种更简单的方法可以绕过它,而无需更改核心代码。你可以用

    Ontology.POLYNOMINAL AttributeFactory.create (h20Node.getColname ())

    来创建属性。这是通常的做法。


    干杯

    1月

  • 2131012221310122 成员职位:40大师

    这是有效的,非常感谢!: smileyvery-happy:

    虽然我仍然不知道为什么我不能这样做。
    如果我不能以这种方式得到正确的结果,如果这意味着在RapidMiner源级别的任何变化都不能有效?

    我希望有人能找出错误的原因。

  • jczogallajczogalla 员工,成员职位:144RM工程

    我不完全确定是什么问题。这仍然使用(现在是旧的)ant构建机制。你能翻译一下java编译错误吗?那肯定会有帮助。:)
    另外,如何构建扩展?您确定ant文件配置正确吗?dir变量指向您修改的RapidMiner5项目?

  • 2131012221310122 成员职位:40大师

    对不起,是我的问题,我没有注意到错误信息是中文的。据说没有这样的方法(使用String参数来创建一个多项式属性)。

    puclicerror.png

    我用你告诉我的方式建立它,创建多项式属性的错误是固定的。

    但是我在RapidMiner中仍然有其他更改的代码,这些代码在扩展项目中无法识别。

    错误消息意味着没有这样的方法setLabel()和new Tree()。

    publicerror2.png

    publicmethod.pngpublicmethod2.png

    这太奇怪了,因为IDEA并没有提示我代码有问题。并在扩展项目中创建了一个测试类来调用该方法,得到了成功的结果。

    但是当我用RapidMiner5构建它时,错误信息出现了。

    这是项目位置和extension-project中的配置文件。

    location2.pnglocation.png

    在构建扩展项目后,我在扩展项目中没有使用更改的RapidMiner5的代码,因此我在RapidMiner5中获得了**.jar。所以我认为位置配置没有问题。

    buildjar.png

    你能帮我找出原因并解决吗?非常感谢。

    @jczogalla

  • 2131012221310122 成员职位:40大师

    太感谢你了!

    问题解决了。

    sgenzer jczogalla
登录注册置评。