There's a lib for this, we've used it in anger, and it seems to work: https://github.com/flatland/classlojure/blob/master/src/classlojure/core.clj
On Wed, Apr 24, 2013 at 12:01 AM, tbatchelli <tbatche...@gmail.com> wrote: > This worked for me: > > (with-bindings {clojure.lang.Compiler/LOADER dcl} ...) > > (from: > http://stackoverflow.com/questions/10941330/class-forname-in-clojure-not-respecting-contextclassloader) > > On Wednesday, February 27, 2013 9:45:32 AM UTC-8, dgrnbrg wrote: >> >> I am trying to include some Groovy code at runtime, which is already on >> the JVM's classloader path. I have succeeded in setting the >> groovy.lang.GroovyClassLoader with Clojure's classloader as the Thread's >> contextClassLoader, but I'm having troubling getting (import ...) to work. >> I discovered so far that (import ...) prefers to use the >> clojure.lang.Compiler/LOADER if it's defined (and it is, in my project), so >> I tried the following: >> >> (try >> (push-thread-bindings {clojure.lang.Compiler/LOADER (groovy.lang.** >> GroovyClassLoader.)} >> ;GroovyCL defaults to use contextClassLoader as parent, which is the >> Clojure ClassLoader >> (import 'my_groovy_class) >> (finally (pop-thread-bindings))) >> >> Note that I can successfully do (.. Thread currentThread >> getContextClassLoader (loadCLass "my_groovy_class")) once I've set the >> contextClassLoader. >> >> What is the way to get (import ...) working so that I can manipulate >> my_groovy_class without resorting to forName/createInstance? >> > -- > -- > 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. > > > -- -- 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.