I would avoid "-" in the names of folders and namespaces; it is actually converted to "_", but not in all places.
The following may or may not work for you. I designed your skeleton project:
(defproject st1 "1.0.0-SNAPSHOT" :description "TODO: add summary of your project" :dependencies [[org.clojure/clojure "1.4.0"] [org.clojure/clojure-contrib "1.2.0"] [clojure-csv/clojure-csv "1.2.4"] [org.clojure/tools.cli "0.1.0"] [clj-http "0.1.3"]] :aot [repl_test.core] :main repl_test.core)
The same clj file as yours:
(ns repl_test.core (:gen-class) (:use clojure.contrib.command-line) (:require [clojure.contrib.string :as cstr]) (:require [clojure.contrib.trace :as ctr]) (:require [clojure.string :as sstr]) (:use clojure-csv.core))
And I renamed the repl-test folder to repl_test using underscore.
Then
lein compile
and
lein run
Out of curiosity, I also looked at clojure-csv , and they use "-" everywhere except for the folder name, so it might be possible to copy what they did.
Also, citing another SO question in clojure namespaces:
"Also note that you do not use underscores in name names or hyphens in file names and wherever you use hyphens in namespace names, you must use an underscore in the file name (so ns my.cool project is defined in the file named cool_project.clj in a directory named my).
And from the Clojure Programming Wiki section in java packages: "Clojure complies with Java naming conventions for directories and files, but Lisp has naming conventions for namespace names. Thus, the clojure com.my-app.utils namespace will live along the path com / my_app / utils.clj. Pay particular attention to the underscore / hyphen. "
source share