eclipseuimarutadkpro-coreuimafit

UIMA Ruta, uimaFIT and DKPro: Which versions work together?


In the GSCL 2013 Ruta tutorial the versions of the components in the pom.xml are:

uimaj-core: 2.4.2
DKPro components: 1.5.0
ruta-core: 2.1.0

Now, I incremented the version numbers incrementally and found that version 1.8.0 of the DKPro components introduces the following exception:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.uima.cas.text.AnnotationIndex.withSnapshotIterators()Lorg/apache/uima/cas/FSIndex;
    at org.apache.uima.fit.util.FSCollectionFactory$AnnotationIndexAdapter.iterator(FSCollectionFactory.java:821)
    at de.tudarmstadt.ukp.dkpro.core.api.segmentation.SegmenterBase.process(SegmenterBase.java:145)
    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.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:267)
    at org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:150)
    at de.tudarmstadt.ukp.tutorial.gscl2013.ruta.WhatAliceDoesExample.main(WhatAliceDoesExample.java:38)

In the last days I faced other version problems (see this question) with these components. Can someone tell me what the most current versions of these components are that work together? Or maybe someone can give me his/her versions that he/she currently works with? I am also interested in the used eclipse version. Thank you very much. I am stuck with this issue for some time now.


Solution

  • Irrespective which version of DKPro Core or Ruta you use, it is a good idea to use a recent UIMA and uimaFIT version.

    Note that there was an incompatible change with UIMA v3+ (uimaFIT v3+). E.g. DKPro Core 2.0.0 works with these new versions, but DKPro Core 1.x works only with UIMA v2 and uimaFIT v2. Presently (2019-10-26), there is no Ruta version compatible with UIMA v3.

    Check the POM files of DKPro Core and Ruta which versions of UIMA and uimaFIT they use.

    DKPro Core 2.0.0 ->

    <uima.version>3.1.0</uima.version>
    <uimafit.version>3.0.0</uimafit.version>
    

    DKPro Core 1.11.0 (note change in group ID in this version) ->

    <uima.version>2.10.3</uima.version>
    <uimafit.version>2.4.0</uimafit.version>
    

    DKPro Core 1.10.0 ->

    <uima.version>2.10.2</uima.version>
    <uimafit.version>2.4.0</uimafit.version>
    

    DKPro Core 1.8.0 ->

    <uima.version>2.8.1</uima.version>
    <uimafit.version>2.2.0</uimafit.version>
    

    Ruta 2.7.0

    <uimaVersion>2.10.3</uimaVersion>
    <uimafit-version>2.4.0</uimafit-version>
    

    As for Eclipse: I'd just use the most recent version. If you experience trouble with Ruta in the latest Eclipse versions, best report it on the UIMA users' mailing list.