我想添加一个自定义 UIMA RUTA 规则条件。我在 Eclipse 中有一个现有的 UIMA Ruta 项目。到目前为止,我在同一个项目中创建了一个带有基本注释器存根的源文件:
package mynamespace.extensions;
[imports]
public class MyNewCondition extends AbstractRutaCondition {
private final String para1;
public MyNewCondition(String para1) {
super();
this.para1 = para1;
}
@Override
public EvaluatedCondition eval(AnnotationFS annotation,
RuleElement element, RutaStream stream, InferenceCrowd crowd) {
// TODO Auto-generated method stub
if (para1 == "hfoo")
return new EvaluatedCondition(this, true);
else
return new EvaluatedCondition(this, false);
}
public String getPara() {
return para1;
}
}
该文件编译到 target/classes/... 文件夹,但是当我创建一个 RUTA 脚本时:
DECLARE Test;
SW{MyNewCondition("foo") -> MARK(Test)};
... Eclipse 告诉我“MyNewCondition”没有定义,当我运行它时,我得到:“第 40 行错误,”(“:在控制台上找不到可行的替代方案”。我想我需要做一些进一步的导入,但不知道怎么做。我尝试从 Github 存储库中的 Extension 示例项目开始工作,但我不知道从哪里开始,因为脚本文件不包含任何进一步的导入,但相关的 xml 描述符文件包含。但是作为这些是自动生成的,我不知道这是我应该改变的还是其他的。
我还尝试通过 Eclipse 的构建路径选项从第二个项目导入相同的新条件类型,但也没有运气。
有人可以帮忙吗?谢谢。