There are a number of different possibilities.

Without anything more specific the only realistic answer is "read the
source of all the libraries you are using, and of clojure, and of lein and
look for tricks with classloaders"

Clojure does some classloader fiddling, but so do most jvm build tools and
many libraries and frameworks.

>From memory:

Clojure uses a dynamic classloader stored in a var in a static field on the
compiler class.

The parent of the dynamic classloader is either the context classloader or
the system classloader.

In certain cases the compiler will use a new dynamic classloader for the
extent of compilation.

The relevent code is in RT.java, DynamicClassloader.java, and Compiler.java
On Jan 5, 2012 3:00 PM, "Daniel Bell" <dchristianb...@gmail.com> wrote:

> Thanks Kevin, but I'm not so much looking for debugging help on this
> specific issue as I'm asking what I should do if I want to be able to,
> say, help others with similar issues in the future.  Classpath stuff
> is a common bugaboo even for experienced Java developers (or so I
> hear), and all the finer points of clojure/Java interop have been a
> thorn in my side for a while now.  I'd like to just blow a weekend or
> three immersing myself in the stuff and get a more fundamental
> understanding of it than I have now.
>
> Your mention of lein reminds me that I should probably spend some time
> digging through that as well, since I use it for all my projects.
>
> Anyway, sorry to be so unclear; part of the problem is that I'm not
> expert enough to know exactly what I'm looking for.  But thanks for
> taking the time.
>
> --
> 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 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

Reply via email to