2014-04-18 6 views
5

Ich habe ein Problem mit dem Import von Gläsern in clojure. Ich habe lein verwendet, um Abhängigkeiten hinzuzufügen. Dies ist Code aus project.cljFileNotFoundException Konnte clojure/java/jdbc__init.class nicht finden

(defproject recommendation "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/java.jdbc "0.0.6"]   ;; jdbc 
        [mysql/mysql-connector-java "5.1.6"]] 
    :aot :all 
    :main recommendation.core) 

ich im Befehl eingegeben lein deps, und es heruntergeladen 3 Gläser in lib Ordner.

Dies ist Code aus recommendation.core

(ns recommendation.core
(: require [clojure.java.jdbc: wie SQL]))

Und ich Ausnahme erhalten:

FileNotFoundException Could not locate clojure/java/jdbc__init.class or clojure/java/jdbc.clj on classpath: clojure.lang.RT.load (RT.java:443) 

Kann mir jemand sagen, wo ich falsch liege und was zu tun ist?

BEARBEITEN: Ich löste das Problem durch den Neustart einer REPL. Es gab ein Problem mit :aot :all auch, ich konnte Anwendung nicht neu starten, war Eclipse nicht reagierenden Modus, wenn ich ein repl wieder laufen lasse.

Danke trotzdem.

+0

i mit „0.3.0-alpha4 versucht haben, "Und es ist dasselbe. – user3549602

Antwort

2

hier ist meine Abhängigkeitszeile:

[org.clojure/java.jdbc "0.2.3"] 

Heres die erfordern Linie von einem meiner Projekte, die jdbc verwenden

(:require [clojure.java [jdbc :as sql]]) 

Wenn nichts davon hilft hier sind meine Standard Leiningen Befestigungsschritte:

  1. lein deps und suche nach fehler
  2. lei n sauber
  3. lein Upgrade
  4. lein deps: Baum und sucht Fremdheit
  5. rm -rf Ziel/# diesen hat mir geholfen, nur mit verkorkster nativen deps.
  6. rm ~/.m2/repository -rf # Dies ist der letzte Ausweg, es gibt viele Downloads.
  7. beitreten #leiningen auf irc.freenode.net und um Hilfe bitten

PS: Ich this video hilfreich bei immer im Griff Namensräume gefunden.

+0

Nur '(: require [clojure.java.jdbc: as sql])' funktioniert auch. Sie möchten die verschachtelte Vektor-Syntax nur selten verwenden. Es neigt dazu, Dinge schwer lesbar zu machen. – Rayne

+0

Ich bekomme den gleichen Fehler.Ich weiß nicht, was falsch ist, ist es Version von Glas, oder ich habe einen Schritt verpasst, um dieses Glas in Projekt aufzunehmen. Wenn ich lein classpath eintippe, sehe ich das jar im lib-Ordner. – user3549602

0

Aktualisierung der Abhängigkeiten Linie auf die neueste Version jdbc.java: https://github.com/clojure/java.jdbc

zum Zeitpunkt des Schreibens ist die Version 0.7.3:

:dependencies [[org.clojure/clojure "1.8.0"] [org.clojure/java.jdbc "0.7.3"]]