首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从UIMAFIT SimplePipeline运行UIMAFIT脚本时的NoSuchMethodError

从UIMAFIT SimplePipeline运行UIMAFIT脚本时的NoSuchMethodError
EN

Stack Overflow用户
提问于 2014-03-04 01:29:40
回答 1查看 591关注 0票数 3

我试图使用以下代码从UIMAFIT简单管道运行现有的UIMA Ruta分析引擎:

代码语言:javascript
复制
File specFile = new File("MyEngine.xml");
XMLInputSource in = new XMLInputSource(specFile);
ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(in);
AnalysisEngineDescription aed = (AnalysisEngineDescription) specifier;
builder.add(aed); // Builder is an aggregateBuilder

在运行它时,它解析从引擎的主脚本()导入,然后退出,但有以下例外:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.uima.ruta.type.RutaBasic.setLowMemoryProfile(Z)V
at org.apache.uima.ruta.RutaStream.initalizeBasics(RutaStream.java:173)
at org.apache.uima.ruta.engine.RutaEngine.initializeStream(RutaEngine.java:575)
at org.apache.uima.ruta.engine.RutaEngine.process(RutaEngine.java:432)
at org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(JCasAnnotator_ImplBase.java:48)
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:378)
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:298)
at org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:568)
at org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:410)
at org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:343)
at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:265)
at org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:568)
at org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:410)
at org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:343)
at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:265)
at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:267)
at org.uimafit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:80)
at org.myproject.workflow.ParagraphAnnotationPipeline.main(ParagraphAnnotationPipeline.java:107)

引擎是使用预发布的Ruta2.2.0创建的,管道运行在UIMA2.5.0中,使用UIMAFIT 2.0.0和使用maven导入的Ruta 2.1.0。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-04 09:23:54

这个问题很可能是由JCas类被覆盖这一事实引起的。UIMA提供了一些为种子、推理和附加分析引擎定义的类型的JCas类。其中之一(至少,但最重要的是)包含了用于存储有关注释和更多信息的其他方法: RutaBasic。不能覆盖这些JCas类。

自述文件中提到了应用JCasGenPomFriendly的用户:

代码语言:javascript
复制
If you use the uimaFIT JCasGenPomFriendly in Maven and want to use UIMA Ruta 
as a standalone annotator you have to exclude the generated UIMA Ruta basic 
type files from the build, e.g., by adding:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.0</version>
  <configuration>
     <excludes>
         <exclude>org/apache/uima/ruta/type/*.java</exclude>
     </excludes>
  </configuration>
</plugin> 

请检查您是否生成了RutaBasic,以及类是否包含setLowMemoryProfile方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22161137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档