You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Marshall Schor <ms...@schor.com> on 2015/12/02 15:29:33 UTC
Re: Document Analyzer cannot find DictionaryResource_impl from
ConceptMapper
It might be this simple:
The error message says it can't find the resource:
org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl
Your Jar dump at the bottom shows the Jar has
DictionaryResource_impl.xml
So, perhaps you need to put this resource in subdirectories so that it's found at org.apache... etc., or you maybe could change the xml descriptor which specifies where this resource is, eliminating the "org.apache..." prefix in front of DictionaryResource_impl.
This is just a shotgun guess - but maybe worth a try.
-Marshall
On 11/30/2015 4:40 PM, Stephan Zednik wrote:
> Hi,
>
> I am having trouble running the ConceptMapper annotator via the Document Analyzer application.
>
> UIMA version: 2.8.1
> github fork of UIMA-addons: https://github.com/zednis/uima-addons
> java: 1.8.0_45
>
> I have made slight updates to the add-on annotator pom files so they will successfully build with Java 8.
>
> I also updated the imports of the ConceptMapperOffsetTokenizer.xml to be references to XML files in the same directory (see https://github.com/zednis/uima-addons/blob/trunk/ConceptMapper/desc/analysis_engine/primitive/ConceptMapperOffsetTokenizer.xml)
>
> I built a PEAR archive of the ConceptMapper annotator using `mvn package` and I used $UIMA_HOME/bin/runPearInstaller.sh to install the ConceptMapper annotator at /opt/apache-uima/test/ConceptMapper.
>
> I am attempting to use the ConceptMapper annotator with the Document Analyzer application. I have updated the fileUrl for the dictionary to file:///opt/apache-uima/test/ConceptMapper/resources/dict/testDict.xml in the installed annotator.
>
> I have specified the following Analysis Engine descriptor location:
>
> /opt/apache-uima/test/ConceptMapper/desc/analysis_engine/primitive/ConceptMapperOffsetTokenizer.xml
>
> When I run the document analyzer I get the following stacktrace:
>
> $ /opt/apache-uima/bin/documentAnalyzer.sh
> org.apache.uima.resource.ResourceInitializationException: The class org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl could not be found. (Descriptor: file:/opt/apache-uima/test/ConceptMapper/desc/analysis_engine/primitive/ConceptMapperOffsetTokenizer.xml)
> at org.apache.uima.resource.impl.ResourceManager_impl.registerResource(ResourceManager_impl.java:603)
> at org.apache.uima.resource.impl.ResourceManager_impl.initializeExternalResources(ResourceManager_impl.java:457)
> at org.apache.uima.resource.Resource_ImplBase.initialize(Resource_ImplBase.java:193)
> at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.initialize(AnalysisEngineImplBase.java:157)
> at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:130)
> at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)
> at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)
> at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)
> at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:407)
> at org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:256)
> at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:429)
> at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:373)
> at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:186)
> at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)
> at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)
> at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)
> at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:371)
> at org.apache.uima.tools.docanalyzer.DocumentAnalyzer.runProcessingThread(DocumentAnalyzer.java:1223)
> at org.apache.uima.tools.docanalyzer.DocumentAnalyzer$ProcessingThread.run(DocumentAnalyzer.java:1332)
> Caused by: java.lang.ClassNotFoundException: org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at org.apache.uima.resource.impl.ResourceManager_impl.registerResource(ResourceManager_impl.java:600)
> ... 18 more
>
> What confuses me about this is that the org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl class is in the installed annotator jarfile (uima-an-conceptMapper.jar).
>
> $ jar tf /opt/apache-uima/test/ConceptMapper/lib/uima-an-conceptMapper.jar | grep DictionaryResource_impl
> org/apache/uima/conceptMapper/support/dictionaryResource/CompiledDictionaryResource_impl.class
> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$1.class
> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictEntriesByLength_impl$ReverseOrderIntegerComparator.class
> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictEntriesByLength_impl.class
> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictEntriesImpl.class
> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictEntryImpl.class
> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictLoader.class
> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl.class
>
> Any ideas why this class would not be found by the document analyzer even though it is in the jar?
>
> Thanks,
>
> Stephan Zednik
> zednis2@rpi.edu
>
Re: Document Analyzer cannot find DictionaryResource_impl from ConceptMapper
Posted by Stephan Zednik <ze...@rpi.edu>.
The org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl.class is in the annotator JAR installed to
/opt/apache-uima/test/ConceptMapper/lib/uima-an-conceptMapper.jar
I believe the issue is that the Document Analyzer application does not have this JAR on it’s classpath.
I added /opt/apache-uima/test/ConceptMapper/lib/uima-an-conceptMapper.jar to my CLASSPATH environment variable and was able to successfully run the Document Analyzer application.
My component metadata/install.xml is the following:
<?xml version="1.0" encoding="UTF-8"?>
<COMPONENT_INSTALLATION_DESCRIPTOR>
<OS>
<NAME>Mac OS X</NAME>
</OS>
<TOOLKITS>
<JDK_VERSION>1.8.0_45</JDK_VERSION>
</TOOLKITS>
<UIMA_FRAMEWORK>
</UIMA_FRAMEWORK>
<SUBMITTED_COMPONENT>
<ID>ConceptMapper</ID>
<NAME></NAME>
<DESC>/opt/apache-uima/test/ConceptMapper/desc/analysis_engine/primitive/ConceptMapperOffsetTokenizer.xml</DESC>
<DEPLOYMENT>standard</DEPLOYMENT>
<SERVICE_COMMAND></SERVICE_COMMAND>
<SERVICE_WORKING_DIR></SERVICE_WORKING_DIR>
<SERVICE_COMMAND_ARGS>
</SERVICE_COMMAND_ARGS>
</SUBMITTED_COMPONENT>
<INSTALLATION>
<PROCESS>
<ACTION>set_env_variable</ACTION>
<PARAMETERS>
<VAR_VALUE>/opt/apache-uima/test/ConceptMapper/lib/uima-an-conceptMapper.jar</VAR_VALUE>
<COMMENTS>component classpath setting</COMMENTS>
<VAR_NAME>classpath</VAR_NAME>
</PARAMETERS>
</PROCESS>
<PROCESS>
<ACTION>set_env_variable</ACTION>
<PARAMETERS>
<VAR_VALUE>/opt/apache-uima/test/ConceptMapper/resources</VAR_VALUE>
<COMMENTS>component uima.datapath setting</COMMENTS>
<VAR_NAME>uima.datapath</VAR_NAME>
</PARAMETERS>
</PROCESS>
</INSTALLATION>
</COMPONENT_INSTALLATION_DESCRIPTOR>
Stephan Zednik
zednis2@rpi.edu
“Why not change the world?"
> On Dec 2, 2015, at 7:29 AM, Marshall Schor <ms...@schor.com> wrote:
>
> It might be this simple:
>
> The error message says it can't find the resource:
>
> org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl
>
> Your Jar dump at the bottom shows the Jar has
>
> DictionaryResource_impl.xml
>
> So, perhaps you need to put this resource in subdirectories so that it's found at org.apache... etc., or you maybe could change the xml descriptor which specifies where this resource is, eliminating the "org.apache..." prefix in front of DictionaryResource_impl.
>
> This is just a shotgun guess - but maybe worth a try.
>
> -Marshall
>
>
> On 11/30/2015 4:40 PM, Stephan Zednik wrote:
>> Hi,
>>
>> I am having trouble running the ConceptMapper annotator via the Document Analyzer application.
>>
>> UIMA version: 2.8.1
>> github fork of UIMA-addons: https://github.com/zednis/uima-addons
>> java: 1.8.0_45
>>
>> I have made slight updates to the add-on annotator pom files so they will successfully build with Java 8.
>>
>> I also updated the imports of the ConceptMapperOffsetTokenizer.xml to be references to XML files in the same directory (see https://github.com/zednis/uima-addons/blob/trunk/ConceptMapper/desc/analysis_engine/primitive/ConceptMapperOffsetTokenizer.xml)
>>
>> I built a PEAR archive of the ConceptMapper annotator using `mvn package` and I used $UIMA_HOME/bin/runPearInstaller.sh to install the ConceptMapper annotator at /opt/apache-uima/test/ConceptMapper.
>>
>> I am attempting to use the ConceptMapper annotator with the Document Analyzer application. I have updated the fileUrl for the dictionary to file:///opt/apache-uima/test/ConceptMapper/resources/dict/testDict.xml in the installed annotator.
>>
>> I have specified the following Analysis Engine descriptor location:
>>
>> /opt/apache-uima/test/ConceptMapper/desc/analysis_engine/primitive/ConceptMapperOffsetTokenizer.xml
>>
>> When I run the document analyzer I get the following stacktrace:
>>
>> $ /opt/apache-uima/bin/documentAnalyzer.sh
>> org.apache.uima.resource.ResourceInitializationException: The class org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl could not be found. (Descriptor: file:/opt/apache-uima/test/ConceptMapper/desc/analysis_engine/primitive/ConceptMapperOffsetTokenizer.xml)
>> at org.apache.uima.resource.impl.ResourceManager_impl.registerResource(ResourceManager_impl.java:603)
>> at org.apache.uima.resource.impl.ResourceManager_impl.initializeExternalResources(ResourceManager_impl.java:457)
>> at org.apache.uima.resource.Resource_ImplBase.initialize(Resource_ImplBase.java:193)
>> at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.initialize(AnalysisEngineImplBase.java:157)
>> at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:130)
>> at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)
>> at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)
>> at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)
>> at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:407)
>> at org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:256)
>> at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:429)
>> at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:373)
>> at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:186)
>> at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)
>> at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)
>> at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)
>> at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:371)
>> at org.apache.uima.tools.docanalyzer.DocumentAnalyzer.runProcessingThread(DocumentAnalyzer.java:1223)
>> at org.apache.uima.tools.docanalyzer.DocumentAnalyzer$ProcessingThread.run(DocumentAnalyzer.java:1332)
>> Caused by: java.lang.ClassNotFoundException: org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Class.java:264)
>> at org.apache.uima.resource.impl.ResourceManager_impl.registerResource(ResourceManager_impl.java:600)
>> ... 18 more
>>
>> What confuses me about this is that the org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl class is in the installed annotator jarfile (uima-an-conceptMapper.jar).
>>
>> $ jar tf /opt/apache-uima/test/ConceptMapper/lib/uima-an-conceptMapper.jar | grep DictionaryResource_impl
>> org/apache/uima/conceptMapper/support/dictionaryResource/CompiledDictionaryResource_impl.class
>> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$1.class
>> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictEntriesByLength_impl$ReverseOrderIntegerComparator.class
>> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictEntriesByLength_impl.class
>> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictEntriesImpl.class
>> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictEntryImpl.class
>> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl$DictLoader.class
>> org/apache/uima/conceptMapper/support/dictionaryResource/DictionaryResource_impl.class
>>
>> Any ideas why this class would not be found by the document analyzer even though it is in the jar?
>>
>> Thanks,
>>
>> Stephan Zednik
>> zednis2@rpi.edu
>>
>