Hello Christopher,

I will try to address exactly your example, with Counterclockwise, and
hopefully you'll get the general view of how to do things on the go.

So you want to instanciate a new namespace like this :

(ns play.xml-example
(:require [clojure.zip :as zip]
[clojure.data.zip :as zf]
[clojure.xml :as xml])
(:use clojure.data.zip.xml))


Code be taken from examples on the web generally have a lot of
assumptions. Here, for instance, the assumption was that
clojure.data.zip namespace is already in the classpath, and for this
to happen, it should either be shipped with the clojure library (which
it isn't), or installed in the classpath via one of the declared
dependencies of your project.

A small search of the String "clojure.data.zip" in Google directs me
to https://github.com/clojure/data.zip/  (2d search entry for me, but
this could vary for you)
This page is the README for project "clojure.data.zip", with a
"Releases and Dependency Information" section.
This section contains :

  Leiningen dependency information:
  [org.clojure/data.zip "0.1.1"]

There we are: you need the artifact named data.zip (member of the
artifacts group named org.clojure). Its current stable version is
0.1.1. Those artifact id + group id + version are called "coordinates"
in Leiningen. Leiningen inherits this terminology from Maven
(http://www.apache.org) which is a Java project management / build
tools with which Leiningen shares the way to store / retrieve
"artifacts" from Internet.

The easiest way to continue from here, if you already have Eclipse +
Counterclockwise installed, is to just create a new Clojure project by
following CCW's documentation for creating a new project (
https://github.com/laurentpetit/ccw/blob/master/doc/src/main/asciidoc/documentation.adoc#create-a-new-project
)

In the `Package Explorer View` (by default opened on the left side of
the editors) you should see your project.

Open the project's file `project.clj`, it should look like this:

project.clj
----
(defproject foo "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :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"]])
----

You should also see inside your project a node named `Leiningen
Dependencies`. If you expand it, you should see the clojure jar
(`clojure-1.5.1.jar`)

Add the dependency for `clojure.data.zip` so that it then looks like this:

project.clj
----
(defproject foo "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :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"]
                         [org.clojure/data.zip "0.1.1"]]) ; <1>
----

<1> Addition of the clojure.data.zip dependency

Save the `project.clj` file.

Eclipse will work a little bit in the background to fetch the
dependency from Internet (and the next times, from a hidden cached
location in `~/.m2/repository`).
And then you should see inside the `Leiningen Dependencies` project
node a new entry: `data.zip-0.1.1.jar`

Now is time to start a REPL and play : in your project's contextual
menu, select `Run as > Clojure Application`. A REPL will open, you'll
be able to paste the namespace declaration into it ( Ctrl + Enter to
send for evaluation):

----
;; Clojure 1.5.1
=> (ns play.xml-example
   (:require [clojure.zip :as zip]
   [clojure.data.zip :as zf]
   [clojure.xml :as xml])
   (:use clojure.data.zip.xml))
nil
----

HTH,

-- 
Laurent




2013/10/18 Christopher Bird <seabir...@gmail.com>:
> I know this is a pretty old thread, but my questions are quite
> similar/related, so I figured here would be a good place for them.
>
> I am seriously struggling with both the Eclipse/Kepler-CounterClockwise
> version in general and the command prompt versions of lein.
> My major issue is how to tell the environments which libraries, etc. to
> load. For example, one of the libraries I really want to use is the whole
> zipper approach for dealing with xml.
>
> From this location http://grokbase.com/t/gg/clojure/11ccz70h0y/xml-zip I see
> the following code:
>
> (ns play.xml-example
> (:require [clojure.zip :as zip]
> [clojure.data.zip :as zf]
> [clojure.xml :as xml])
> (:use clojure.data.zip.xml))
> And this is what I get:
>
> C:\Users\Christopher Bird>lein repl
> nREPL server started on port 64784 on host 127.0.0.1
> REPL-y 0.2.1
> Clojure 1.5.1
>     Docs: (doc function-name-here)
>           (find-doc "part-of-name-here")
>   Source: (source function-name-here)
>  Javadoc: (javadoc java-object-or-class-here)
>     Exit: Control+D or (exit) or (quit)
>
> user=> (ns play.xml-example
>   #_=> (:require [clojure.zip :as zip]
>   #_=> [clojure.data.zip :as zf]
>   #_=> [clojure.xml :as xml]
>   #_=> )
>   #_=> (:use clojure.data.zip.xml))
>
> FileNotFoundException Could not locate clojure/data/zip__init.class or
> clojure/data/zip.clj on classpath:   clojure.lang
> .RT.load (RT.java:443)
> user=>
>  So, clearly I need to get  the libs onto the classpath. The questions are
> what libs, where and how?
>
> Thanks in advance for any/all help
>
> Chris
>
> On Wednesday, September 7, 2011 2:09:01 PM UTC-5, Joseph Li wrote:
>>
>> hi all,
>>
>> I have a bare bone Clojure project created in Eclipse with
>> Counterclockwise plugin and am trying to (use clojure.java.jdbc).
>>  I tried adding the jar file downloaded from Maven repo to the
>> project's build path but everytime it runs the (use) line from the
>> repl it will  give a ClassNotFoundException.
>>
>> I ended up downloading the source and put it right there along with my
>> own but still have to fully qualify with the ns name to use anything
>> there.
>>
>> Is Maven/Leiningen pretty much the only way to obtain clojure lib
>> properly?
>>
>> Thanks,
>> Joseph
>>
> --
> --
> 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.

Reply via email to