In fact it has been corrected in the clojure svn.Sorry for the noise,
Gaetan


2009/1/26 gaetan <gaetan.mor...@gmail.com>

>
> I am not sure of that but it may come, as Eric suggest, from the
> import function in core.clj. Indeed this function is based on
> Class#forName which use Reflection#getCallerClass to find the class
> loader. May be it uses the application class loader instead of the
> root class loader of clojure (in which are stored the URL added
> dynamically), so it can load resources on the application class path
> but not on url class path added later. Eric's trick of using the
> source code in another file may have added enough call indirection to
> enable Class#forName to use the right class loader. May be a debug
> session could help to find the root cause of the problem
>
> Gaetan
>
> On 26 jan, 21:49, bOR_ <boris.sch...@gmail.com> wrote:
> > Thanks for that solution. Ran into the same problem as well, and right
> > now I don't want to solve it, but just finish something else.
> >
> > On Dec 13 2008, 11:21 pm, Eric Sessoms <nubga...@gmail.com> wrote:
> >
> > > Did you ever get this resolved?  I just had the same thing start
> > > happening to me today, after not experiencing any problems with it as
> > > recently as yesterday.  (What changed?  I tried to install swank.
> > > Nuking swank did not fix the problem, tho.) Step by step:
> >
> > > (add-classpath ...) ; seems to work, because
> > > (seq (.getURLs (clojure.lang.RT/baseLoader))) ; shows the added jar or
> > > directory, and
> > > (Class/forName ...) ; returns a result (no exception), but
> >
> > > (import...) ; fails with ClassNotFoundException and
> > > (ns (:import...)) ; also fails
> >
> > > I eventually got my code working again by copying the source of
> theimportfunction out of core.clj, renaming it "my-import", and changing
> > > all myimportstatements to "my-import" statements, accordingly.
> >
> > > Anyway, it makes no sense to me.  I'm just hoping someone more
> > > experienced will be able to say what's really going on.
> >
> > > On Dec 9, 7:07 am, "rob.blackwell" <rob.blackw...@aws.net> wrote:
> >
> > > > When I load a JAR at runtime with add-classpath
> >
> > > > (add-classpath "file:///Users/reb/java/jena.jar")
> >
> > > > and try
> >
> > > > user=> (import'(com.hp.hpl.jena.rdf.model ModelFactory))
> >
> > > > I get
> >
> > > > java.lang.ClassNotFoundException:
> > > > com.hp.hpl.jena.rdf.model.ModelFactory (NO_SOURCE_FILE:0)
> > > > user=>
> >
> > > > However, I can still use the classes if I fully qualify them.
> >
> > > > The sameimportdoes work if I add the JAR to the classpath when
> > > > invoking java, but that seems to be less flexible.
> >
> > > > Am I doing something wrong?
> >
> > > > Is this a bug?
> >
> > > > Any advice gratefully received!
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
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