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
>> 
>