But we had this working, so I don't think the conflict is between the NLP 
and the web app which uses Compojure. 



On Monday, June 29, 2015 at 6:38:40 PM UTC-4, Gary Verhaegen wrote:
>
> Assuming there is a version that works for both dependencies, you can 
> manually fix it in your own project.clj. Your own direct dependencies 
> will override transitive ones. 
>
> Otherwise, as far as I can tell, you're stuck. Maybe you can try using 
> an older clj-time? 
>
> On 29 June 2015 at 21:00,  <gingers...@gmail.com <javascript:>> wrote: 
> > 
> > 
> > I think I have a conflict involving different libraries using different 
> > versions of JodaTime. I have no idea how to fix this. 
> > 
> > I have nearly the same problem as this: 
> > 
> > 
> http://stackoverflow.com/questions/21487476/maven-build-throws-jodatime-exception-at-runtime
>  
> > 
> > However, in my case, I'm building a web app in Clojure, whereas my 
> co-worker 
> > is building our Natural Language Processing engine in Java. The NLP is 
> > included as a jar. We had this working for a few weeks, but my co-worker 
> has 
> > added some new dependencies that are now giving us this error. 
> > 
> > This person also reports a similar error: 
> > 
> >  Error creating edu.stanford.nlp.time.TimeExpressionExtractorImpl 
> > 
> > See here: 
> > 
> > http://mail.wso2.org/mailarchive/dev/2014-September/035337.html 
> > 
> > with an answer here: 
> > 
> > http://mail.wso2.org/mailarchive/dev/2014-September/035341.html 
> > 
> > The issue in both cases seems to be a version conflict in different 
> > libraries, but I have no idea how to resolve this. In the Clojure app we 
> use 
> > clj-time, which apparently uses Joda-Time 2.6, whereas the Stanford Core 
> NLP 
> > libraries seem to use Joda 2.1. Is there anyway to resolve that 
> conflict? 
> > 
> > Both pieces of software compile, and the Clojure app can start, with the 
> NLP 
> > engine included. However, the Clojure app then calls a "start" method in 
> the 
> > NLP engine, which causes the NLP engine to load the lexers and parsers 
> that 
> > it needs. We then get these messages and errors: 
> > 
> > Loading classifier from 
> > 
> /home/safflower/apricots/dependencies/english.muc.7class.caseless.distsim.crf.ser.gz
>  
>
> > ... done [1.5 sec]. 
> > 
> > Loading parser from serialized file 
> > edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz ...  done [0.3 
> sec]. 
> > 
> > Loading parser from serialized file 
> > edu/stanford/nlp/models/lexparser/englishPCFG.caseless.ser.gz ...  done 
> [1.1 
> > sec]. 
> > 
> > Adding annotator tokenize 
> > 
> > TokenizerAnnotator: No tokenizer type provided. Defaulting to 
> PTBTokenizer. 
> > 
> > Adding annotator ssplit 
> > 
> > Adding annotator pos 
> > 
> > Reading POS tagger model from 
> > 
> edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger
>  
>
> > ... done [1.9 sec]. 
> > 
> > Adding annotator lemma 
> > 
> > Adding annotator ner 
> > 
> > Loading classifier from 
> > 
> /home/safflower/apricots/dependencies/english.all.7class.distsim.crf.ser.gz 
> > ... done [1.5 sec]. 
> > 
> > Initializing JollyDayHoliday for SUTime from classpath: 
> > edu/stanford/nlp/models/sutime/jollyday/Holidays_sutime.xml as 
> > sutime.binder.1. 
> > #<ReflectionLoadingException 
> > edu.stanford.nlp.util.ReflectionLoading$ReflectionLoadingException: 
> Error 
> > creating edu.stanford.nlp.time.TimeExpressionExtractorImpl> 
> > 
> > Exception in start/start: 
> > edu.stanford.nlp.util.ReflectionLoading$ReflectionLoadingException: 
> Error 
> > creating edu.stanford.nlp.time.TimeExpressionExtractorImpl 
> > 
> > If I do this in the Java app: 
> > 
> > mvn dependency:tree 
> > 
> > I see this: 
> > 
> > [INFO] |  +- joda-time:joda-time:jar:2.1:compile 
> > [INFO] |  \- javax.xml.bind:jaxb-api:jar:2.2.7:compile 
> > [INFO] +- log4j:log4j:jar:1.2.17:compile 
> > [INFO] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile 
> > [INFO] |  \- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile 
> > [INFO] +- junit:junit:jar:3.8.1:test 
> > [INFO] +- net.sf.supercsv:super-csv:jar:2.0.0-beta-1:compile 
> > [INFO] +- org.apache.commons:commons-lang3:jar:3.0:compile 
> > [INFO] \- edu.stanford.nlp:stanford-corenlp:jar:3.5.2:compile 
> > [INFO]    +- com.io7m.xom:xom:jar:1.2.10:compile 
> > [INFO]    |  +- xml-apis:xml-apis:jar:1.3.03:compile 
> > [INFO]    |  +- xerces:xercesImpl:jar:2.8.0:compile 
> > [INFO]    |  \- xalan:xalan:jar:2.7.0:compile 
> > [INFO]    +- 
> > com.googlecode.efficient-java-matrix-library:ejml:jar:0.23:compile 
> > [INFO]    \- javax.json:javax.json-api:jar:1.0:compile 
> > 
> > If I do this in the Clojure app: 
> > 
> > lein deps :tree 
> > 
> > I see this: 
> > 
> > Retrieving org/clojure/tools.nrepl/0.2.6/tools.nrepl-0.2.6.pom from 
> central 
> > Retrieving 
> > clojure-complete/clojure-complete/0.2.3/clojure-complete-0.2.3.pom from 
> > clojars 
> > Retrieving org/clojure/tools.nrepl/0.2.6/tools.nrepl-0.2.6.jar from 
> central 
> > Retrieving 
> > clojure-complete/clojure-complete/0.2.3/clojure-complete-0.2.3.jar from 
> > clojars 
> > Possibly confusing dependencies found: 
> > [slingshot "0.10.3"] 
> >  overrides 
> > [clj-http "1.1.2"] -> [slingshot "0.12.2" :exclusions 
> [org.clojure/clojure]] 
> > 
> > Consider using these exclusions: 
> > [clj-http "1.1.2" :exclusions [slingshot]] 
> > 
> > [clj-time "0.6.0"] 
> >  overrides 
> > [ring "1.4.0-RC1"] -> [ring/ring-jetty-adapter "1.4.0-RC1"] -> 
> > [ring/ring-core "1.4.0-RC1"] -> [clj-time "0.9.0"] 
> >  and 
> > [ring "1.4.0-RC1"] -> [ring/ring-devel "1.4.0-RC1"] -> [ring/ring-core 
> > "1.4.0-RC1"] -> [clj-time "0.9.0"] 
> >  and 
> > [ring "1.4.0-RC1"] -> [ring/ring-core "1.4.0-RC1"] -> [clj-time "0.9.0"] 
> > 
> > Consider using these exclusions: 
> > [ring "1.4.0-RC1" :exclusions [clj-time]] 
> > [ring "1.4.0-RC1" :exclusions [clj-time]] 
> > [ring "1.4.0-RC1" :exclusions [clj-time]] 
> > 
> > [org.clojure/tools.namespace "0.2.4"] 
> >  overrides 
> > [ring "1.4.0-RC1"] -> [ring/ring-devel "1.4.0-RC1"] -> [ns-tracker 
> "0.3.0"] 
> > -> [org.clojure/tools.namespace "0.2.10"] 
> > 
> > Consider using these exclusions: 
> > [ring "1.4.0-RC1" :exclusions [org.clojure/tools.namespace]] 
> > 
> > [clj-stacktrace "0.2.7"] 
> >  overrides 
> > [ring "1.4.0-RC1"] -> [ring/ring-devel "1.4.0-RC1"] -> [clj-stacktrace 
> > "0.2.8"] 
> > 
> > Consider using these exclusions: 
> > [ring "1.4.0-RC1" :exclusions [clj-stacktrace]] 
> > 
> > [clj-time "0.6.0"] -> [joda-time "2.2"] 
> >  overrides 
> > [ring "1.4.0-RC1"] -> [ring/ring-jetty-adapter "1.4.0-RC1"] -> 
> > [ring/ring-core "1.4.0-RC1"] -> [clj-time "0.9.0"] -> [joda-time "2.6"] 
> >  and 
> > [ring "1.4.0-RC1"] -> [ring/ring-devel "1.4.0-RC1"] -> [ring/ring-core 
> > "1.4.0-RC1"] -> [clj-time "0.9.0"] -> [joda-time "2.6"] 
> >  and 
> > [ring "1.4.0-RC1"] -> [ring/ring-core "1.4.0-RC1"] -> [clj-time "0.9.0"] 
> -> 
> > [joda-time "2.6"] 
> > 
> > Consider using these exclusions: 
> > [ring "1.4.0-RC1" :exclusions [joda-time]] 
> > [ring "1.4.0-RC1" :exclusions [joda-time]] 
> > [ring "1.4.0-RC1" :exclusions [joda-time]] 
> > 
> >  [cheshire "5.5.0"] 
> >    [com.fasterxml.jackson.core/jackson-core "2.5.3"] 
> >    [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor "2.5.3"] 
> >    [com.fasterxml.jackson.dataformat/jackson-dataformat-smile "2.5.3"] 
> >    [tigris "0.1.1"] 
> >  [clj-http "1.1.2"] 
> >    [com.cognitect/transit-clj "0.8.271" :exclusions 
> [[org.clojure/clojure]]] 
> >      [com.cognitect/transit-java "0.8.287"] 
> >        [com.fasterxml.jackson.datatype/jackson-datatype-json-org 
> "2.3.2"] 
> >          [com.fasterxml.jackson.core/jackson-databind "2.3.2"] 
> >            [com.fasterxml.jackson.core/jackson-annotations "2.3.0"] 
> >          [org.json/json "20090211"] 
> >        [org.apache.directory.studio/org.apache.commons.codec "1.8"] 
> >        [org.msgpack/msgpack "0.6.10"] 
> >          [com.googlecode.json-simple/json-simple "1.1.1" :exclusions 
> > [[junit]]] 
> >          [org.javassist/javassist "3.18.1-GA"] 
> >    [commons-codec "1.10" :exclusions [[org.clojure/clojure]]] 
> >    [commons-io "2.4" :exclusions [[org.clojure/clojure]]] 
> >    [crouton "0.1.2" :exclusions [[org.clojure/clojure]]] 
> >      [org.jsoup/jsoup "1.7.1"] 
> >    [org.apache.httpcomponents/httpclient "4.4.1" :exclusions 
> > [[org.clojure/clojure]]] 
> >      [commons-logging "1.2"] 
> >    [org.apache.httpcomponents/httpcore "4.4.1" :exclusions 
> > [[org.clojure/clojure]]] 
> >    [org.apache.httpcomponents/httpmime "4.4.1" :exclusions 
> > [[org.clojure/clojure]]] 
> >    [org.clojure/tools.reader "0.9.2" :exclusions 
> [[org.clojure/clojure]]] 
> >    [potemkin "0.3.13" :exclusions [[org.clojure/clojure]]] 
> >      [clj-tuple "0.2.1"] 
> >  [clj-stacktrace "0.2.7"] 
> >  [clj-time "0.6.0"] 
> >    [joda-time "2.2"] 
> >  [clojure-complete "0.2.3" :scope "test" :exclusions 
> > [[org.clojure/clojure]]] 
> >  [com.novemberain/monger "2.0.1"] 
> >    [clojurewerkz/support "1.1.0"] 
> >      [com.google.guava/guava "18.0"] 
> >    [org.mongodb/mongo-java-driver "2.12.4"] 
> >  [com.taoensso/timbre "3.2.1"] 
> >    [com.taoensso/encore "1.5.1"] 
> >    [io.aviso/pretty "0.1.10"] 
> >  [compojure "1.3.4"] 
> >    [clout "2.1.2"] 
> >      [instaparse "1.4.0" :exclusions [[org.clojure/clojure]]] 
> >    [medley "0.6.0"] 
> >    [org.clojure/tools.macro "0.1.5"] 
> >    [ring/ring-codec "1.0.0"] 
> >  [dire "0.5.1"] 
> >    [robert/hooke "1.3.0"] 
> >  [local/nlp "1.0-SNAPSHOT"] 
> >  [manifold "0.1.0"] 
> >    [org.clojure/tools.logging "0.3.1"] 
> >    [riddley "0.1.9"] 
> >  [me.raynes/fs "1.4.4"] 
> >    [org.apache.commons/commons-compress "1.4"] 
> >      [org.tukaani/xz "1.0"] 
> >  [org.clojure/clojure "1.6.0"] 
> >  [org.clojure/core.cache "0.6.4"] 
> >    [org.clojure/data.priority-map "0.0.4"] 
> >  [org.clojure/core.incubator "0.1.3"] 
> >  [org.clojure/core.match "0.3.0-alpha4"] 
> >    [org.clojure/tools.analyzer.jvm "0.6.5"] 
> >      [org.clojure/core.memoize "0.5.6"] 
> >      [org.clojure/tools.analyzer "0.6.4"] 
> >      [org.ow2.asm/asm-all "4.2"] 
> >  [org.clojure/data.json "0.2.5"] 
> >  [org.clojure/tools.namespace "0.2.4"] 
> >  [org.clojure/tools.nrepl "0.2.6" :scope "test" :exclusions 
> > [[org.clojure/clojure]]] 
> >  [overtone/at-at "1.2.0"] 
> >  [ring/ring-json "0.3.1"] 
> >  [ring "1.4.0-RC1"] 
> >    [ring/ring-core "1.4.0-RC1"] 
> >      [commons-fileupload "1.3.1"] 
> >      [crypto-equality "1.0.0"] 
> >      [crypto-random "1.2.0"] 
> >    [ring/ring-devel "1.4.0-RC1"] 
> >      [hiccup "1.0.5"] 
> >      [ns-tracker "0.3.0"] 
> >        [org.clojure/java.classpath "0.2.2"] 
> >    [ring/ring-jetty-adapter "1.4.0-RC1"] 
> >      [org.eclipse.jetty/jetty-server "9.2.10.v20150310"] 
> >        [javax.servlet/javax.servlet-api "3.1.0"] 
> >        [org.eclipse.jetty/jetty-http "9.2.10.v20150310"] 
> >          [org.eclipse.jetty/jetty-util "9.2.10.v20150310"] 
> >        [org.eclipse.jetty/jetty-io "9.2.10.v20150310"] 
> >    [ring/ring-servlet "1.4.0-RC1"] 
> >  [slingshot "0.10.3"] 
> > 
> > 
> >    [robert/hooke "1.3.0"] 
> >  [local/nlp "1.0-SNAPSHOT"] 
> >  [manifold "0.1.0"] 
> >    [org.clojure/tools.logging "0.3.1"] 
> >    [riddley "0.1.9"] 
> >  [me.raynes/fs "1.4.4"] 
> >    [org.apache.commons/commons-compress "1.4"] 
> >      [org.tukaani/xz "1.0"] 
> >  [org.clojure/clojure "1.6.0"] 
> >  [org.clojure/core.cache "0.6.4"] 
> >    [org.clojure/data.priority-map "0.0.4"] 
> >  [org.clojure/core.incubator "0.1.3"] 
> >  [org.clojure/core.match "0.3.0-alpha4"] 
> >    [org.clojure/tools.analyzer.jvm "0.6.5"] 
> >      [org.clojure/core.memoize "0.5.6"] 
> >      [org.clojure/tools.analyzer "0.6.4"] 
> >      [org.ow2.asm/asm-all "4.2"] 
> >  [org.clojure/data.json "0.2.5"] 
> >  [org.clojure/tools.namespace "0.2.4"] 
> >  [org.clojure/tools.nrepl "0.2.6" :scope "test" :exclusions 
> > [[org.clojure/clojure]]] 
> >  [overtone/at-at "1.2.0"] 
> >  [ring/ring-json "0.3.1"] 
> >  [ring "1.4.0-RC1"] 
> >    [ring/ring-core "1.4.0-RC1"] 
> >      [commons-fileupload "1.3.1"] 
> >      [crypto-equality "1.0.0"] 
> >      [crypto-random "1.2.0"] 
> >    [ring/ring-devel "1.4.0-RC1"] 
> >      [hiccup "1.0.5"] 
> >      [ns-tracker "0.3.0"] 
> >        [org.clojure/java.classpath "0.2.2"] 
> >    [ring/ring-jetty-adapter "1.4.0-RC1"] 
> >      [org.eclipse.jetty/jetty-server "9.2.10.v20150310"] 
> >        [javax.servlet/javax.servlet-api "3.1.0"] 
> >        [org.eclipse.jetty/jetty-http "9.2.10.v20150310"] 
> >          [org.eclipse.jetty/jetty-util "9.2.10.v20150310"] 
> >        [org.eclipse.jetty/jetty-io "9.2.10.v20150310"] 
> >    [ring/ring-servlet "1.4.0-RC1"] 
> >  [slingshot "0.10.3"] 
> > 
> > How would I resolve a potential version conflict? 
> > 
> > This is the project.clj file that I have: 
> > 
> > (defproject oyster "0.1" 
> >   :dependencies [[org.clojure/clojure "1.6.0"] 
> >                  [com.taoensso/timbre "3.2.1"] 
> >                  [dire "0.5.1"] 
> >                  [slingshot "0.10.3"] 
> >                  [ring "1.4.0-RC1"] 
> >                  [clj-time "0.6.0"] 
> >                  [org.clojure/data.json "0.2.5"] 
> >                  [compojure "1.3.4"] 
> >                  [com.novemberain/monger "2.0.1"] 
> >                  [org.clojure/tools.namespace "0.2.4"] 
> >                  [manifold "0.1.0"] 
> >                  [me.raynes/fs "1.4.4"] 
> >                  [org.clojure/core.incubator "0.1.3"] 
> >                  [clj-stacktrace "0.2.7"] 
> >                  [overtone/at-at "1.2.0"] 
> >                  [ring/ring-json "0.3.1"] 
> >                  [clj-http "1.1.2"] 
> >                  [org.clojure/core.cache "0.6.4"] 
> >                  [cheshire "5.5.0"] 
> >                  [org.clojure/core.match "0.3.0-alpha4"] 
> >                  [local/nlp "1.0-SNAPSHOT"]] 
> >   :repositories {"local" ~(str (.toURI (java.io.File. 
> "maven_repository")))} 
> >   :disable-implicit-clean true 
> > ;;  :warn-on-reflection true 
> >   :source-paths      ["src/clojure"] 
> >   :java-source-paths ["src/java"] 
> >   :main oyster.core 
> >   :aot :all 
> >   :jvm-opts ["-Xms100m" "-Xmx1000m" "-XX:-UseCompressedOops"]) 
> > 
> > 
> > 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> > Groups "Clojure" group. 
> > To post to this group, send email to clo...@googlegroups.com 
> <javascript:> 
> > Note that posts from new members are moderated - please be patient with 
> your 
> > first post. 
> > To unsubscribe from this group, send email to 
> > clojure+u...@googlegroups.com <javascript:> 
> > For more options, visit this group at 
> > http://groups.google.com/group/clojure?hl=en 
> > --- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Clojure" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to clojure+u...@googlegroups.com <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to