[ https://issues.apache.org/jira/browse/CTAKES-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16834724#comment-16834724 ]
Dhruv Rajan edited comment on CTAKES-385 at 5/7/19 12:43 PM: ------------------------------------------------------------- Is there going to be a fix for this soon? I am still getting this same issue. I am using ctakes 4.0.0 from sbt in Intellij, and encounter this error when running example code from the ctakes-web-api in my own project. MY CODE: (adapted from [https://github.com/healthnlp/examples/blob/master/ctakes-web-client/src/main/java/org/apache/ctakes/web/client/servlet/DemoServlet.java]) {code:java} public static void main(String[] args) throws Exception { AggregateBuilder aggregateBuilder; aggregateBuilder = new AggregateBuilder(); aggregateBuilder.add(ClinicalPipelineFactory.getTokenProcessingPipeline()); aggregateBuilder.add( AnalysisEngineFactory.createEngineDescription( DefaultJCasTermAnnotator.class, AbstractJCasTermAnnotator.PARAM_WINDOW_ANNOT_KEY, "org.apache.ctakes.typesystem.type.textspan.Sentence", JCasTermAnnotator.DICTIONARY_DESCRIPTOR_KEY, //prefix + "org/apache/ctakes/dictionary/lookup/fast/sno_rx_16ab.xml" ) Paths.get("sno_rx_16ab.xml").toAbsolutePath().toString()) ); AnalysisEngine pipeline = aggregateBuilder.createAggregate(); } {code} ERROR: {noformat} Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical at java.base/java.io.File.<init>(File.java:418) at org.apache.ctakes.lvg.resource.LvgCmdApiResourceImpl.load(LvgCmdApiResourceImpl.java:65) at org.apache.uima.resource.impl.ResourceManager_impl.registerResource(ResourceManager_impl.java:628) at org.apache.uima.resource.impl.ResourceManager_impl.initializeExternalResources(ResourceManager_impl.java:464) 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:131) 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: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.fit.factory.AnalysisEngineFactory.createEngine(AnalysisEngineFactory.java:708) at org.apache.uima.fit.factory.AggregateBuilder.createAggregate(AggregateBuilder.java:204) at Main.main(Main.java:56) {noformat} Seems to be exactly the same issue: it's trying to load lvg.properties as a file, not a stream. Is there a way I could get around this? was (Author: dhruvrajan): Is there going to be a fix for this soon? I am still getting this same issue. I am using ctakes 4.0.0 from sbt in Intellij, and encounter this error when running example code from the ctakes-web-api in my own project. MY CODE: (adapted from https://github.com/healthnlp/examples/blob/master/ctakes-web-client/src/main/java/org/apache/ctakes/web/client/servlet/DemoServlet.java) {code:java} public static void main(String[] args) throws Exception { AggregateBuilder aggregateBuilder; LOGGER.info(Paths.get("").toAbsolutePath().toString()); aggregateBuilder = new AggregateBuilder(); aggregateBuilder.add(ClinicalPipelineFactory.getTokenProcessingPipeline()); aggregateBuilder.add( AnalysisEngineFactory.createEngineDescription( DefaultJCasTermAnnotator.class, AbstractJCasTermAnnotator.PARAM_WINDOW_ANNOT_KEY, "org.apache.ctakes.typesystem.type.textspan.Sentence", JCasTermAnnotator.DICTIONARY_DESCRIPTOR_KEY, //prefix + "org/apache/ctakes/dictionary/lookup/fast/sno_rx_16ab.xml" ) Paths.get("sno_rx_16ab.xml").toAbsolutePath().toString()) ); AnalysisEngine pipeline = aggregateBuilder.createAggregate(); } {code} ERROR: {noformat} Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical at java.base/java.io.File.<init>(File.java:418) at org.apache.ctakes.lvg.resource.LvgCmdApiResourceImpl.load(LvgCmdApiResourceImpl.java:65) at org.apache.uima.resource.impl.ResourceManager_impl.registerResource(ResourceManager_impl.java:628) at org.apache.uima.resource.impl.ResourceManager_impl.initializeExternalResources(ResourceManager_impl.java:464) 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:131) 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: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.fit.factory.AnalysisEngineFactory.createEngine(AnalysisEngineFactory.java:708) at org.apache.uima.fit.factory.AggregateBuilder.createAggregate(AggregateBuilder.java:204) at Main.main(Main.java:56) {noformat} Seems to be exactly the same issue: it's trying to load lvg.properties as a file, not a stream. Is there a way I could get around this? > URI is not hierarchical when attempting to obtain lvg.properties within JAR > --------------------------------------------------------------------------- > > Key: CTAKES-385 > URL: https://issues.apache.org/jira/browse/CTAKES-385 > Project: cTAKES > Issue Type: Improvement > Components: ctakes-lvg > Affects Versions: 3.2.2 > Environment: MaxOSX 10.9.5, cTAKES 3.2.3-SNAPSHOT (nightly Wed Oct > 14th, 2015), Apache Spark 1.5.1 on Apache Hadoop 2.4.0 > Reporter: Lewis John McGibbney > Priority: Major > Attachments: CTAKES-385.patch > > > As described in the [accompanying mailing list > thread|http://www.mail-archive.com/user%40ctakes.apache.org/msg00969.html] > this issue concerns > LvgAnnotator.createAnnotatorDescription(LvgAnnotator.java:565) using the > following syntax > {code} > ExternalResourceFactory.createExternalResourceDescription( > LvgCmdApiResourceImpl.class, > new File(LvgCmdApiResourceImpl.class.getResource( > > "/org/apache/ctakes/lvg/data/config/lvg.properties").toURI())) > {code} > Use of LvgCmdApiResourceImpl.class.getResource should be exchanged for > {code} > LvgCmdApiResourceImpl.class.getResourceAsStream > {code} > Patch coming up. -- This message was sent by Atlassian JIRA (v7.6.3#76005)