title: configuring a separate model jar in stanford nlp
body: <p>I have implemented a logic to use stanford nlp to get the location from the particular english sentence. I was using the following jar
  stanford-corenlp-3.2.0.jar 
  stanford-corenlp-3.2.0-models.jar </p>
  
  <p>The logic that I wrote is following</p>
  
  <pre><code> public static edu.stanford.nlp.pipeline.StanfordCoreNLP snlp;
      /**
       * @see ServletContextListener#contextInitialized(ServletContextEvent)
       */
      public void contextInitialized(ServletContextEvent arg0) {
          Properties props = new Properties();
          props.put("annotators", "tokenize,ssplit,pos,lemma,parse,ner,dcoref");
          StanfordCoreNLP snlp = new StanfordCoreNLP(props);
      }
  </code></pre>
  
  <p>However because of the case sensitive issue, I was adviced to use 
  stanford-corenlp-caseless-2015-04-20-models.jar instead of stanford-corenlp-3.2.0.jar. 
  From the above code the jar which will be loaded by default is stanford-corenlp-3.2.0-models.jar.</p>
  
  <p>However I want to now configure with the following model i.e. stanford-corenlp-caseless-2015-04-20-models.jar
  Please guide me on how to configure it using java code.</p>
  
  <p>I tried the Gabor's solution. However I got the following exception</p>
  
  <pre><code>SEVERE: Exception sending context initialized event to listener instance of class servlets.NLP_initializer
  java.lang.RuntimeException: edu.stanford.nlp.io.RuntimeIOException: Unrecoverable error while loading a tagger model
      at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:493)
      at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:81)
      at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:260)
      at edu.stanford.nlp.pipeline.StanfordCoreNLP.&lt;init&gt;(StanfordCoreNLP.java:127)
      at edu.stanford.nlp.pipeline.StanfordCoreNLP.&lt;init&gt;(StanfordCoreNLP.java:123)
      at servlets.NLP_initializer.contextInitialized(NLP_initializer.java:34)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
  Caused by: edu.stanford.nlp.io.RuntimeIOException: Unrecoverable error while loading a tagger model
      at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:749)
      at edu.stanford.nlp.tagger.maxent.MaxentTagger.&lt;init&gt;(MaxentTagger.java:283)
      at edu.stanford.nlp.tagger.maxent.MaxentTagger.&lt;init&gt;(MaxentTagger.java:247)
      at edu.stanford.nlp.pipeline.POSTaggerAnnotator.loadModel(POSTaggerAnnotator.java:78)
      at edu.stanford.nlp.pipeline.POSTaggerAnnotator.&lt;init&gt;(POSTaggerAnnotator.java:62)
      at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:491)
      ... 14 more
  Caused by: java.io.IOException: Unable to resolve "edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger" as either class path, filename or URL
      at edu.stanford.nlp.io.IOUtils.getInputStreamFromURLOrClasspathOrFileSystem(IOUtils.java:419)
      at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:744)
      ... 19 more
  </code></pre>