Hmm, okay. Seems to be working with: :source-paths ["src"] :java-source-paths ["src_java"]
The example on the Leiningen site might be clear to those who know the JVM, but it was not clear to me. But now I have the earlier problem: Caused by: java.lang.RuntimeException: No such namespace: Base64Coder Not sure how to import this. I tried a simple: (ns mpdv.core (:gen-class) (:import (Base64Coder)) But that does not work. On Friday, February 22, 2013 5:31:49 PM UTC-5, Marko Topolnik wrote: > > No, src is root for all Clojure. That means that your java root is under > the Clojure root. Move java to top-level. > > On Friday, February 22, 2013 11:28:17 PM UTC+1, larry google groups wrote: >> >> I see this sentence: >> >> "Having one source root contain another (e.g. src and src/java) can >> cause obscure problems." >> >> but I have: >> >> src/ >> java/ >> mpdv/ >> >> Which I assume is what Leinengen is asking for. >> >> >> On Friday, February 22, 2013 5:23:28 PM UTC-5, larry google groups wrote: >>> >>> Maybe I spoke too soon. I have now stepped into the Twilight Zone. >>> Changes I make to files do not get built when a try to run lein. >>> >>> Just to get some kind of reaction from Leinengen I just put random >>> garbage in the ns clause of my core.clj: >>> >>> (ns lkjlkljlkjlkj mpdv.core >>> (:gen-class) >>> (:import >>> (java.net URL URLConnection) >>> (java.io ByteArrayInputStream BufferedReader IOException InputStream >>> InputStreamReader OutputStreamWriter UnsupportedEncodingException) >>> (java.text SimpleDateFormat) >>> (java.util Date) >>> (java.security MessageDigest) >>> (org.apache.commons.mail SimpleEmail HtmlEmail) >>> (org.joda.time.format DateTimeFormat ISODateTimeFormat) >>> (Base64Coder) >>> (lkjlkjlkjoiuoiu)) >>> >>> This should have caused an error, but instead, when I did "lein uberjar" >>> everything compiled -- but compiled without any of the changes I've made >>> during the last 30 minutes. >>> >>> In the terminal, from the same terminal that I run "lein uberjar" I can >>> run: >>> >>> cat src/mpdv/core.clj >>> >>> and I see my changes, including the random garbage that I just wrote, >>> but somehow, if I then type "lein uberjar" lein does not see it. >>> >>> I do not know if this issue is related, but following the advice about >>> polygots, given here: >>> >>> >>> https://github.com/technomancy/leiningen/blob/stable/doc/MIXED_PROJECTS.md >>> >>> I added this to my project.clj file: >>> >>> :source-paths ["src/mpdv"] >>> :java-source-paths ["src/java"] >>> >>> Did I do something wrong here? >>> >>> Why is Leinengen still compiling, even though the source code is full of >>> garbage? >>> >>> >>> >>> >>> On Friday, February 22, 2013 5:01:15 PM UTC-5, larry google groups wrote: >>>> >>>> Ah, I see. This is a "polygot" project, which Leiningen describes here: >>>> >>>> >>>> https://github.com/technomancy/leiningen/blob/stable/doc/MIXED_PROJECTS.md >>>> >>>> That worked for me. Leiningen saves the day again. >>>> >>>> >>>> On Friday, February 22, 2013 4:25:04 PM UTC-5, larry google groups >>>> wrote: >>>>> >>>>> When I just do something obvious, like in mpdv.core: >>>>> >>>>> (ns mpdv.core >>>>> (:gen-class) >>>>> (:import >>>>> (Base64Coder)) >>>>> >>>>> and then call its static methods I get: >>>>> >>>>> Exception in thread "main" java.lang.NoClassDefFoundError: Base64Coder >>>>> (wrong name: com/omniture/security/Base64Coder), >>>>> compiling:(mpdv/core.clj:130) >>>>> >>>>> >>>>> >>>>> >>>>> On Friday, February 22, 2013 4:18:00 PM UTC-5, larry google groups >>>>> wrote: >>>>>> >>>>>> I am ignorant of the JVM, and of Java, so I am sure this is a dumb >>>>>> question. >>>>>> >>>>>> I need to post to the Omniture API. They offer some sample code here: >>>>>> >>>>>> https://developer.omniture.com/en_US/blog/calling-rest-api-in-java >>>>>> >>>>>> That code depends on a Base64Coder class which they offer in a zip >>>>>> file. I downloaded it and did: >>>>>> >>>>>> javac Base64Coder.java >>>>>> >>>>>> and this gave me Base64Coder.class. >>>>>> >>>>>> I created my project with Leinengen2. >>>>>> >>>>>> I thought maybe I could just copy Base64Coder.class to the >>>>>> target/classes folder, but then how would I reference it in my code? >>>>>> >>>>>> >>>>>> -- -- 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/groups/opt_out.