Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No implementation of method: :as-file of protocol: #'clojure.java.io/Coercions found for class: clojure.lang.PersistentVector

Getting a java.lang.IllegalArgumentException: No implementation of method: :as-file of protocol: #'clojure.java.io/Coercions found for class: clojure.lang.PersistentVector when i run lein test or lein repl from terminal on MAC OS X. Though lein repl works well in eclipse (with counterclockwise plugin)

My Project file is:

(defproject cmp "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"]

                 [lib-noir "0.5.0"]
                 [compojure "1.1.5"]
                 [ring-server "0.2.7"]
                 [clabango "0.5"]
                 [korma "0.3.0-RC5"]
                 [clj-json "0.5.3"] 
                 [mysql/mysql-connector-java "5.1.6"]
                 [com.taoensso/timbre "1.5.2"]
                 [com.taoensso/tower "1.5.1"]
                 [com.postspectacular/rotor "0.1.0"]
                 [markdown-clj "0.9.19"]
                 [clj-pdf "1.11.1"]
                 [dk.ative/docjure "1.6.0"]
                 [com.cemerick/friend "0.1.5"]
                 [ring-basic-authentication "1.0.2"]
                 [org.clojure/data.csv "0.1.2"]
                 [clojure-csv/clojure-csv "2.0.1"]
                 [clj-time "0.6.0"]
                 [log4j "1.2.15"
                  :exclusions
                  [javax.mail/mail
                   javax.jms/jms
                   com.sun.jdmk/jmxtools
                   com.sun.jmx/jmxri]]]
    :plugins [[lein-ring "0.8.3"]]

    :ring {:handler cmp.handler/war-handler

         :init    cmp.handler/init
         :destroy cmp.handler/destroy }

     :profiles {
         :production {
               :ring {:open-browser? false
                       :stacktraces?  false
                       :auto-reload?  false}}

        :dev {:dependencies [[ring-mock "0.1.3"]
                        [ring/ring-devel "1.1.8"]]}}

     :java-source-paths [["src/cmp/java"]]
     :min-lein-version "2.0.0")
like image 710
oloo Avatar asked Sep 24 '13 07:09

oloo


1 Answers

The entry under :java-source-paths in your project.clj is a nested vector. It should be a plain vector of strings. Try replacing

:java-source-paths [["src/cmp/java"]]

with:

:java-source-paths ["src/cmp/java"]
like image 63
mtyaka Avatar answered Sep 28 '22 11:09

mtyaka