librelist archives

« back to archive

org.reflections, lein deps, mystery

org.reflections, lein deps, mystery

From:
Dave Tenny
Date:
2014-01-01 @ 21:35
I have lein project as follows:

(defproject jdt "0.1.0-SNAPSHOT"
  :description "These are not the tools you're looking for."
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [me.raynes/conch "0.6.0"]
                 [me.raynes/fs "1.4.5"] ; presently a locally managed repo
                 ])

In there I have a module 'java.clj' with these fragments of code:

(ns ^{:doc "Utilities for working with Java"}
    jdt.java
    (use (org.reflections))
    )

(defn classpaths
  "Return a sequence representing the java class path"
  []
  (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))


And I have a mystery.  Where is "getURLs" coming from?
I *think* it's coming from org.reflections.

What's interesting to me is that I have apparently neglected to declare
org.reflections in my lein project dependencies.

Someone must be making 'getURLs' available but I don't know who.

Lein deps :tree shows this:

$ lein deps :tree
 [clojure-complete "0.2.3" :exclusions [[org.clojure/clojure]]]
 [jdt "0.1.0-SNAPSHOT"]
 [me.raynes/conch "0.6.0"]
   [org.flatland/useful "0.10.6"]
     [org.clojure/tools.macro "0.1.1"]
     [org.clojure/tools.reader "0.7.2"]
 [me.raynes/fs "1.4.5"]
   [org.apache.commons/commons-compress "1.4"]
     [org.tukaani/xz "1.0"]
 [org.clojure/clojure "1.5.1"]
 [org.clojure/tools.nrepl "0.2.3" :exclusions [[org.clojure/clojure]]]
 [org.clojure/tools.trace "0.7.6"]

No sign of org.reflections there.

Using jvisualvm and inspecting class paths doesn't show it there either.

So I'm guessing someone has packaged those libraries in one of the jars
loaded by the above dependencies, and I haven't gone peeking in all of them
yet.

So a couple of questions:

1) Should lein deps :tree be showing more data?  I'm surprised the tree is
so shallow if that's supposed to be a transitive closure of dependencies.

2) If I do a 'lein repl' in the project directory, I can't do (use
'org.reflections) from the command line, I get this error:

user=> (use 'org.reflections)
FileNotFoundException Could not locate org/reflections__init.class or
org/reflections.clj on classpath:   clojure.lang.RT.load (RT.java:443)

Yes my java.clj that uses it is cleary working.

Why can my code use this namespace while a repl on the same project cannot?


-----------

FYI: I typically run with this project 'lein install' ed and
a :user {:dependencies [[jdt "0.1.0-SNAPSHOT"]
line in my ~/.lein/profiles.clj

I don't know that it would make a difference, but just in case I'm
mentioning it.

Re: [leiningen] org.reflections, lein deps, mystery

From:
Sean Corfield
Date:
2014-01-02 @ 00:46
This doesn't seem to be a Leiningen question but I'll take a stab at
it anyway...

(.getURLs (java.lang.ClassLoader/getSystemClassLoader)) is just Java
interop: it calls java.lang.ClassLoader/getSystemClassLoader which
returns a ClassLoader instance and then it calls .getURLs on that.
It's a little dangerous since .getURLs is a method of URLClassLoader,
not part of ClassLoader so it will throw an exception should you ever
get a non-URLClassLoader instance back (but I suspect that's not
possible with Clojure? It probably always uses a URLClassLoader as the
system class loader?).

I've no idea what org.reflections is. I would expect your code to work
without that (use...)

BTW, in a (ns...) declaration, it's better practice to use (:use...)
or better still, use (:require...) with :as to introduce an alias.

Sean

On Wed, Jan 1, 2014 at 1:35 PM, Dave Tenny <dave.tenny@gmail.com> wrote:
> I have lein project as follows:
>
> (defproject jdt "0.1.0-SNAPSHOT"
>   :description "These are not the tools you're looking for."
>   :url "http://example.com/FIXME"
>   :license {:name "Eclipse Public License"
>             :url "http://www.eclipse.org/legal/epl-v10.html"}
>   :dependencies [[org.clojure/clojure "1.5.1"]
>                  [me.raynes/conch "0.6.0"]
>                  [me.raynes/fs "1.4.5"] ; presently a locally managed repo
>                  ])
>
> In there I have a module 'java.clj' with these fragments of code:
>
> (ns ^{:doc "Utilities for working with Java"}
>     jdt.java
>     (use (org.reflections))
>     )
>
> (defn classpaths
>   "Return a sequence representing the java class path"
>   []
>   (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))
>
>
> And I have a mystery.  Where is "getURLs" coming from?
> I *think* it's coming from org.reflections.
>
> What's interesting to me is that I have apparently neglected to declare
> org.reflections in my lein project dependencies.
>
> Someone must be making 'getURLs' available but I don't know who.
>
> Lein deps :tree shows this:
>
> $ lein deps :tree
>  [clojure-complete "0.2.3" :exclusions [[org.clojure/clojure]]]
>  [jdt "0.1.0-SNAPSHOT"]
>  [me.raynes/conch "0.6.0"]
>    [org.flatland/useful "0.10.6"]
>      [org.clojure/tools.macro "0.1.1"]
>      [org.clojure/tools.reader "0.7.2"]
>  [me.raynes/fs "1.4.5"]
>    [org.apache.commons/commons-compress "1.4"]
>      [org.tukaani/xz "1.0"]
>  [org.clojure/clojure "1.5.1"]
>  [org.clojure/tools.nrepl "0.2.3" :exclusions [[org.clojure/clojure]]]
>  [org.clojure/tools.trace "0.7.6"]
>
> No sign of org.reflections there.
>
> Using jvisualvm and inspecting class paths doesn't show it there either.
>
> So I'm guessing someone has packaged those libraries in one of the jars
> loaded by the above dependencies, and I haven't gone peeking in all of them
> yet.
>
> So a couple of questions:
>
> 1) Should lein deps :tree be showing more data?  I'm surprised the tree is
> so shallow if that's supposed to be a transitive closure of dependencies.
>
> 2) If I do a 'lein repl' in the project directory, I can't do (use
> 'org.reflections) from the command line, I get this error:
>
> user=> (use 'org.reflections)
> FileNotFoundException Could not locate org/reflections__init.class or
> org/reflections.clj on classpath:   clojure.lang.RT.load (RT.java:443)
>
> Yes my java.clj that uses it is cleary working.
>
> Why can my code use this namespace while a repl on the same project cannot?
>
> -----------
>
> FYI: I typically run with this project 'lein install' ed and
> a :user {:dependencies [[jdt "0.1.0-SNAPSHOT"]
> line in my ~/.lein/profiles.clj
>
> I don't know that it would make a difference, but just in case I'm
> mentioning it.



-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

Re: [leiningen] org.reflections, lein deps, mystery

From:
Dave Tenny
Date:
2014-01-02 @ 02:15
Hi Sean,

Thanks for the reply.

I figured it was a lein question because
(a) I *appear* to be using a namespace that hasn't been declared as a
dependency, and that isn't in any dependencies that are declared, that I'm
aware of and
(b) lein deps :tree won't show me what might ultimately have pulled it in
the namespace, but maybe it *isn't* pulled in and nobody is complaining
even though it's referenced in a (ns).   But maybe that's because the
namespace doesn't exist and really isn't being pulled in somehow (and I
wasn't sure if lein deps :tree was really showing the whole transitive
closure of namespaces).

The third issue below is not lein, you're right, I'll mention it elsewhere
if necessary.

(c) org.reflections is used in a ns statement that doesn't complain, but
can't be (use)'d a the top level.


re: URL ClassLoader, so if I understand it you're saying it's some subtype
of ClassLoader that has a getURLs method, but that isn't among the two
ClassLoaders types documented in the jdk API 7 docs that I examined, and
maybe the whole getURLs thing isn't part of org.reflections at all.  If
that's the case, should (ns ... (:use <ns>)) complain if <ns> doesn't
exist?  (A clojure question, I can ask elsewhere it turns out getURLs is
indeed coming from some location other than org.reflections).




On Wed, Jan 1, 2014 at 7:46 PM, Sean Corfield <seancorfield@gmail.com>wrote:

> This doesn't seem to be a Leiningen question but I'll take a stab at
> it anyway...
>
> (.getURLs (java.lang.ClassLoader/getSystemClassLoader)) is just Java
> interop: it calls java.lang.ClassLoader/getSystemClassLoader which
> returns a ClassLoader instance and then it calls .getURLs on that.
> It's a little dangerous since .getURLs is a method of URLClassLoader,
> not part of ClassLoader so it will throw an exception should you ever
> get a non-URLClassLoader instance back (but I suspect that's not
> possible with Clojure? It probably always uses a URLClassLoader as the
> system class loader?).
>
> I've no idea what org.reflections is. I would expect your code to work
> without that (use...)
>
> BTW, in a (ns...) declaration, it's better practice to use (:use...)
> or better still, use (:require...) with :as to introduce an alias.
>
> Sean
>
> On Wed, Jan 1, 2014 at 1:35 PM, Dave Tenny <dave.tenny@gmail.com> wrote:
> > I have lein project as follows:
> >
> > (defproject jdt "0.1.0-SNAPSHOT"
> >   :description "These are not the tools you're looking for."
> >   :url "http://example.com/FIXME"
> >   :license {:name "Eclipse Public License"
> >             :url "http://www.eclipse.org/legal/epl-v10.html"}
> >   :dependencies [[org.clojure/clojure "1.5.1"]
> >                  [me.raynes/conch "0.6.0"]
> >                  [me.raynes/fs "1.4.5"] ; presently a locally managed
> repo
> >                  ])
> >
> > In there I have a module 'java.clj' with these fragments of code:
> >
> > (ns ^{:doc "Utilities for working with Java"}
> >     jdt.java
> >     (use (org.reflections))
> >     )
> >
> > (defn classpaths
> >   "Return a sequence representing the java class path"
> >   []
> >   (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))
> >
> >
> > And I have a mystery.  Where is "getURLs" coming from?
> > I *think* it's coming from org.reflections.
> >
> > What's interesting to me is that I have apparently neglected to declare
> > org.reflections in my lein project dependencies.
> >
> > Someone must be making 'getURLs' available but I don't know who.
> >
> > Lein deps :tree shows this:
> >
> > $ lein deps :tree
> >  [clojure-complete "0.2.3" :exclusions [[org.clojure/clojure]]]
> >  [jdt "0.1.0-SNAPSHOT"]
> >  [me.raynes/conch "0.6.0"]
> >    [org.flatland/useful "0.10.6"]
> >      [org.clojure/tools.macro "0.1.1"]
> >      [org.clojure/tools.reader "0.7.2"]
> >  [me.raynes/fs "1.4.5"]
> >    [org.apache.commons/commons-compress "1.4"]
> >      [org.tukaani/xz "1.0"]
> >  [org.clojure/clojure "1.5.1"]
> >  [org.clojure/tools.nrepl "0.2.3" :exclusions [[org.clojure/clojure]]]
> >  [org.clojure/tools.trace "0.7.6"]
> >
> > No sign of org.reflections there.
> >
> > Using jvisualvm and inspecting class paths doesn't show it there either.
> >
> > So I'm guessing someone has packaged those libraries in one of the jars
> > loaded by the above dependencies, and I haven't gone peeking in all of
> them
> > yet.
> >
> > So a couple of questions:
> >
> > 1) Should lein deps :tree be showing more data?  I'm surprised the tree
> is
> > so shallow if that's supposed to be a transitive closure of dependencies.
> >
> > 2) If I do a 'lein repl' in the project directory, I can't do (use
> > 'org.reflections) from the command line, I get this error:
> >
> > user=> (use 'org.reflections)
> > FileNotFoundException Could not locate org/reflections__init.class or
> > org/reflections.clj on classpath:   clojure.lang.RT.load (RT.java:443)
> >
> > Yes my java.clj that uses it is cleary working.
> >
> > Why can my code use this namespace while a repl on the same project
> cannot?
> >
> > -----------
> >
> > FYI: I typically run with this project 'lein install' ed and
> > a :user {:dependencies [[jdt "0.1.0-SNAPSHOT"]
> > line in my ~/.lein/profiles.clj
> >
> > I don't know that it would make a difference, but just in case I'm
> > mentioning it.
>
>
>
> --
> Sean A Corfield -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
> World Singles, LLC. -- http://worldsingles.com/
>
> "Perfection is the enemy of the good."
> -- Gustave Flaubert, French realist novelist (1821-1880)
>

Re: [leiningen] org.reflections, lein deps, mystery

From:
Dave Tenny
Date:
2014-01-02 @ 02:20
Ah, I see, URLClassLoader wasn't listed as a subtype of ClassLoader but it
is, and has getURLs.

So it looks like I probably have a non-existent namespace that (ns) just
isn't complaining about.  I'll look into it a bit more and file it in an
appropriate forum if necessary.


On Wed, Jan 1, 2014 at 9:15 PM, Dave Tenny <dave.tenny@gmail.com> wrote:

> Hi Sean,
>
> Thanks for the reply.
>
> I figured it was a lein question because
> (a) I *appear* to be using a namespace that hasn't been declared as a
> dependency, and that isn't in any dependencies that are declared, that I'm
> aware of and
> (b) lein deps :tree won't show me what might ultimately have pulled it in
> the namespace, but maybe it *isn't* pulled in and nobody is complaining
> even though it's referenced in a (ns).   But maybe that's because the
> namespace doesn't exist and really isn't being pulled in somehow (and I
> wasn't sure if lein deps :tree was really showing the whole transitive
> closure of namespaces).
>
> The third issue below is not lein, you're right, I'll mention it elsewhere
> if necessary.
>
> (c) org.reflections is used in a ns statement that doesn't complain, but
> can't be (use)'d a the top level.
>
>
> re: URL ClassLoader, so if I understand it you're saying it's some subtype
> of ClassLoader that has a getURLs method, but that isn't among the two
> ClassLoaders types documented in the jdk API 7 docs that I examined, and
> maybe the whole getURLs thing isn't part of org.reflections at all.  If
> that's the case, should (ns ... (:use <ns>)) complain if <ns> doesn't
> exist?  (A clojure question, I can ask elsewhere it turns out getURLs is
> indeed coming from some location other than org.reflections).
>
>
>
>
> On Wed, Jan 1, 2014 at 7:46 PM, Sean Corfield <seancorfield@gmail.com>wrote:
>
>> This doesn't seem to be a Leiningen question but I'll take a stab at
>> it anyway...
>>
>> (.getURLs (java.lang.ClassLoader/getSystemClassLoader)) is just Java
>> interop: it calls java.lang.ClassLoader/getSystemClassLoader which
>> returns a ClassLoader instance and then it calls .getURLs on that.
>> It's a little dangerous since .getURLs is a method of URLClassLoader,
>> not part of ClassLoader so it will throw an exception should you ever
>> get a non-URLClassLoader instance back (but I suspect that's not
>> possible with Clojure? It probably always uses a URLClassLoader as the
>> system class loader?).
>>
>> I've no idea what org.reflections is. I would expect your code to work
>> without that (use...)
>>
>> BTW, in a (ns...) declaration, it's better practice to use (:use...)
>> or better still, use (:require...) with :as to introduce an alias.
>>
>> Sean
>>
>> On Wed, Jan 1, 2014 at 1:35 PM, Dave Tenny <dave.tenny@gmail.com> wrote:
>> > I have lein project as follows:
>> >
>> > (defproject jdt "0.1.0-SNAPSHOT"
>> >   :description "These are not the tools you're looking for."
>> >   :url "http://example.com/FIXME"
>> >   :license {:name "Eclipse Public License"
>> >             :url "http://www.eclipse.org/legal/epl-v10.html"}
>> >   :dependencies [[org.clojure/clojure "1.5.1"]
>> >                  [me.raynes/conch "0.6.0"]
>> >                  [me.raynes/fs "1.4.5"] ; presently a locally managed
>> repo
>> >                  ])
>> >
>> > In there I have a module 'java.clj' with these fragments of code:
>> >
>> > (ns ^{:doc "Utilities for working with Java"}
>> >     jdt.java
>> >     (use (org.reflections))
>> >     )
>> >
>> > (defn classpaths
>> >   "Return a sequence representing the java class path"
>> >   []
>> >   (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))
>> >
>> >
>> > And I have a mystery.  Where is "getURLs" coming from?
>> > I *think* it's coming from org.reflections.
>> >
>> > What's interesting to me is that I have apparently neglected to declare
>> > org.reflections in my lein project dependencies.
>> >
>> > Someone must be making 'getURLs' available but I don't know who.
>> >
>> > Lein deps :tree shows this:
>> >
>> > $ lein deps :tree
>> >  [clojure-complete "0.2.3" :exclusions [[org.clojure/clojure]]]
>> >  [jdt "0.1.0-SNAPSHOT"]
>> >  [me.raynes/conch "0.6.0"]
>> >    [org.flatland/useful "0.10.6"]
>> >      [org.clojure/tools.macro "0.1.1"]
>> >      [org.clojure/tools.reader "0.7.2"]
>> >  [me.raynes/fs "1.4.5"]
>> >    [org.apache.commons/commons-compress "1.4"]
>> >      [org.tukaani/xz "1.0"]
>> >  [org.clojure/clojure "1.5.1"]
>> >  [org.clojure/tools.nrepl "0.2.3" :exclusions [[org.clojure/clojure]]]
>> >  [org.clojure/tools.trace "0.7.6"]
>> >
>> > No sign of org.reflections there.
>> >
>> > Using jvisualvm and inspecting class paths doesn't show it there either.
>> >
>> > So I'm guessing someone has packaged those libraries in one of the jars
>> > loaded by the above dependencies, and I haven't gone peeking in all of
>> them
>> > yet.
>> >
>> > So a couple of questions:
>> >
>> > 1) Should lein deps :tree be showing more data?  I'm surprised the tree
>> is
>> > so shallow if that's supposed to be a transitive closure of
>> dependencies.
>> >
>> > 2) If I do a 'lein repl' in the project directory, I can't do (use
>> > 'org.reflections) from the command line, I get this error:
>> >
>> > user=> (use 'org.reflections)
>> > FileNotFoundException Could not locate org/reflections__init.class or
>> > org/reflections.clj on classpath:   clojure.lang.RT.load (RT.java:443)
>> >
>> > Yes my java.clj that uses it is cleary working.
>> >
>> > Why can my code use this namespace while a repl on the same project
>> cannot?
>> >
>> > -----------
>> >
>> > FYI: I typically run with this project 'lein install' ed and
>> > a :user {:dependencies [[jdt "0.1.0-SNAPSHOT"]
>> > line in my ~/.lein/profiles.clj
>> >
>> > I don't know that it would make a difference, but just in case I'm
>> > mentioning it.
>>
>>
>>
>> --
>> Sean A Corfield -- (904) 302-SEAN
>> An Architect's View -- http://corfield.org/
>> World Singles, LLC. -- http://worldsingles.com/
>>
>> "Perfection is the enemy of the good."
>> -- Gustave Flaubert, French realist novelist (1821-1880)
>>
>
>

Re: [leiningen] org.reflections, lein deps, mystery

From:
Sean Corfield
Date:
2014-01-02 @ 02:27
The correct syntax for ns would be:

(ns ^{:doc "Utilities for working with Java"}
    jdt.java
    (:use org.reflections))

And that _will_ fail because org.reflections does not exist on your
classpath (because you did not add it to your dependencies).

The ns macros is... "special"... it doesn't trap a lot of illegal
syntax and some illegal syntax is ignored and some is treated as if
you wrote something else (sometimes even the syntax you should have
written).

Sean

On Wed, Jan 1, 2014 at 6:20 PM, Dave Tenny <dave.tenny@gmail.com> wrote:
> Ah, I see, URLClassLoader wasn't listed as a subtype of ClassLoader but it
> is, and has getURLs.
>
> So it looks like I probably have a non-existent namespace that (ns) just
> isn't complaining about.  I'll look into it a bit more and file it in an
> appropriate forum if necessary.
>
>
> On Wed, Jan 1, 2014 at 9:15 PM, Dave Tenny <dave.tenny@gmail.com> wrote:
>>
>> Hi Sean,
>>
>> Thanks for the reply.
>>
>> I figured it was a lein question because
>> (a) I *appear* to be using a namespace that hasn't been declared as a
>> dependency, and that isn't in any dependencies that are declared, that I'm
>> aware of and
>> (b) lein deps :tree won't show me what might ultimately have pulled it in
>> the namespace, but maybe it *isn't* pulled in and nobody is complaining even
>> though it's referenced in a (ns).   But maybe that's because the namespace
>> doesn't exist and really isn't being pulled in somehow (and I wasn't sure if
>> lein deps :tree was really showing the whole transitive closure of
>> namespaces).
>>
>> The third issue below is not lein, you're right, I'll mention it elsewhere
>> if necessary.
>>
>> (c) org.reflections is used in a ns statement that doesn't complain, but
>> can't be (use)'d a the top level.
>>
>>
>> re: URL ClassLoader, so if I understand it you're saying it's some subtype
>> of ClassLoader that has a getURLs method, but that isn't among the two
>> ClassLoaders types documented in the jdk API 7 docs that I examined, and
>> maybe the whole getURLs thing isn't part of org.reflections at all.  If
>> that's the case, should (ns ... (:use <ns>)) complain if <ns> doesn't exist?
>> (A clojure question, I can ask elsewhere it turns out getURLs is indeed
>> coming from some location other than org.reflections).
>>
>>
>>
>>
>> On Wed, Jan 1, 2014 at 7:46 PM, Sean Corfield <seancorfield@gmail.com>
>> wrote:
>>>
>>> This doesn't seem to be a Leiningen question but I'll take a stab at
>>> it anyway...
>>>
>>> (.getURLs (java.lang.ClassLoader/getSystemClassLoader)) is just Java
>>> interop: it calls java.lang.ClassLoader/getSystemClassLoader which
>>> returns a ClassLoader instance and then it calls .getURLs on that.
>>> It's a little dangerous since .getURLs is a method of URLClassLoader,
>>> not part of ClassLoader so it will throw an exception should you ever
>>> get a non-URLClassLoader instance back (but I suspect that's not
>>> possible with Clojure? It probably always uses a URLClassLoader as the
>>> system class loader?).
>>>
>>> I've no idea what org.reflections is. I would expect your code to work
>>> without that (use...)
>>>
>>> BTW, in a (ns...) declaration, it's better practice to use (:use...)
>>> or better still, use (:require...) with :as to introduce an alias.
>>>
>>> Sean
>>>
>>> On Wed, Jan 1, 2014 at 1:35 PM, Dave Tenny <dave.tenny@gmail.com> wrote:
>>> > I have lein project as follows:
>>> >
>>> > (defproject jdt "0.1.0-SNAPSHOT"
>>> >   :description "These are not the tools you're looking for."
>>> >   :url "http://example.com/FIXME"
>>> >   :license {:name "Eclipse Public License"
>>> >             :url "http://www.eclipse.org/legal/epl-v10.html"}
>>> >   :dependencies [[org.clojure/clojure "1.5.1"]
>>> >                  [me.raynes/conch "0.6.0"]
>>> >                  [me.raynes/fs "1.4.5"] ; presently a locally managed
>>> > repo
>>> >                  ])
>>> >
>>> > In there I have a module 'java.clj' with these fragments of code:
>>> >
>>> > (ns ^{:doc "Utilities for working with Java"}
>>> >     jdt.java
>>> >     (use (org.reflections))
>>> >     )
>>> >
>>> > (defn classpaths
>>> >   "Return a sequence representing the java class path"
>>> >   []
>>> >   (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))
>>> >
>>> >
>>> > And I have a mystery.  Where is "getURLs" coming from?
>>> > I *think* it's coming from org.reflections.
>>> >
>>> > What's interesting to me is that I have apparently neglected to declare
>>> > org.reflections in my lein project dependencies.
>>> >
>>> > Someone must be making 'getURLs' available but I don't know who.
>>> >
>>> > Lein deps :tree shows this:
>>> >
>>> > $ lein deps :tree
>>> >  [clojure-complete "0.2.3" :exclusions [[org.clojure/clojure]]]
>>> >  [jdt "0.1.0-SNAPSHOT"]
>>> >  [me.raynes/conch "0.6.0"]
>>> >    [org.flatland/useful "0.10.6"]
>>> >      [org.clojure/tools.macro "0.1.1"]
>>> >      [org.clojure/tools.reader "0.7.2"]
>>> >  [me.raynes/fs "1.4.5"]
>>> >    [org.apache.commons/commons-compress "1.4"]
>>> >      [org.tukaani/xz "1.0"]
>>> >  [org.clojure/clojure "1.5.1"]
>>> >  [org.clojure/tools.nrepl "0.2.3" :exclusions [[org.clojure/clojure]]]
>>> >  [org.clojure/tools.trace "0.7.6"]
>>> >
>>> > No sign of org.reflections there.
>>> >
>>> > Using jvisualvm and inspecting class paths doesn't show it there
>>> > either.
>>> >
>>> > So I'm guessing someone has packaged those libraries in one of the jars
>>> > loaded by the above dependencies, and I haven't gone peeking in all of
>>> > them
>>> > yet.
>>> >
>>> > So a couple of questions:
>>> >
>>> > 1) Should lein deps :tree be showing more data?  I'm surprised the tree
>>> > is
>>> > so shallow if that's supposed to be a transitive closure of
>>> > dependencies.
>>> >
>>> > 2) If I do a 'lein repl' in the project directory, I can't do (use
>>> > 'org.reflections) from the command line, I get this error:
>>> >
>>> > user=> (use 'org.reflections)
>>> > FileNotFoundException Could not locate org/reflections__init.class or
>>> > org/reflections.clj on classpath:   clojure.lang.RT.load (RT.java:443)
>>> >
>>> > Yes my java.clj that uses it is cleary working.
>>> >
>>> > Why can my code use this namespace while a repl on the same project
>>> > cannot?
>>> >
>>> > -----------
>>> >
>>> > FYI: I typically run with this project 'lein install' ed and
>>> > a :user {:dependencies [[jdt "0.1.0-SNAPSHOT"]
>>> > line in my ~/.lein/profiles.clj
>>> >
>>> > I don't know that it would make a difference, but just in case I'm
>>> > mentioning it.
>>>
>>>
>>>
>>> --
>>> Sean A Corfield -- (904) 302-SEAN
>>> An Architect's View -- http://corfield.org/
>>> World Singles, LLC. -- http://worldsingles.com/
>>>
>>> "Perfection is the enemy of the good."
>>> -- Gustave Flaubert, French realist novelist (1821-1880)
>>
>>
>



-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)