UIMA-ResourceInitializationException:找不到类

时间:2018-11-11 09:22:34

标签: java apache web-services uima tomcat9

我正在开发带有Web服务的Java应用程序,该服务必须提供REST API来借助Apache UIMA SDK(更多信息here)来注释文本。
该Web服务工作正常。我将Apache Tomcatv9catalina一起使用,并向UIMA添加了支持,我在UIMA_HOME\lib文件夹中的CATALINA_HOME\lib中添加了jar。这样,服务器可以知道UIMA SDK提供的类。

鉴于此,当我在此处实例化Analysis Engine时:

XMLInputSource in = new XMLInputSource(eclipseWorkspacePath + "\\annotator\\desc\\provaDesc.xml");
ResourceSpecifier specifier =UIMAFramework.getXMLParser().parseResourceSpecifier(in);
AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(specifier);

它抛出ResourceInitializationException,表示找不到类NumberAnnotator
这是项目的结构: enter image description here 这是AnalysisEngine描述符provaDesc.xml的代码:

    <?xml version="1.0" encoding="UTF-8"?>
<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
  <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
  <primitive>true</primitive> 
 <annotatorImplementationName>org.wolf.uima.annotator.NumberAnnotator</annotatorImplementationName>
  <analysisEngineMetaData>
    <name>provaDesc</name>
    <description/>
    <version>1.0</version>
    <vendor/>
    <configurationParameters/>
    <configurationParameterSettings/>
    <typeSystemDescription>
      <imports>
        <import location="provaTypeSystem.xml"/>
      </imports>
    </typeSystemDescription>
    <typePriorities/>
    <fsIndexCollection/>
    <capabilities>
      <capability>
        <inputs/>
        <outputs>
          <type allAnnotatorFeatures="true">org.wolf.uima.model.Numero</type>
        </outputs>
        <languagesSupported/>
      </capability>
    </capabilities>
  <operationalProperties>
      <modifiesCas>true</modifiesCas>
      <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
      <outputsNewCASes>false</outputsNewCASes>
    </operationalProperties>
  </analysisEngineMetaData>
  <resourceManagerConfiguration/>
</analysisEngineDescription>

您可以看到XML中的annotatorImplementationName与类的相对路径匹配。
我在另一个项目(没有Tomcat)中测试了注释器本身,它可以找到该类。
我想问题是服务器无法达到该级别,但是我不明白为什么。你有什么想法吗?谢谢。

0 个答案:

没有答案