Wie Sie auf Verzeichnis hinzufügen, um Clojure ist der classpath?
Habe ich installiert die Bibliotheken mit " Maven in der ~/.m2/repository/Verzeichnis. Ich möchte hinzufügen, dass der Pfad zu den Standard-Clojure classpath. Ich konnte nicht finden Sie in der Dokumentation, wie das zu tun.
Irgendwelche Tipps?
Prost!
clj
Clojure 1.4.0
user=> (require '[clojure.java.jmx :as jmx])
FileNotFoundException Could not locate clojure/java/jmx__init.class or clojure/java/jmx.clj on classpath: clojure.lang.RT.load (RT.java:432)
Den class-path standardmäßig:
user=> (println (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))
(#<URL file:/Users/myuser/cljmx/> #<URL file:/usr/local/Cellar/clojure/1.4.0/clojure-1.4.0.jar> #<URL file:/Users/myuser/cljmx/>)
nil
- haben Sie eine zwingende Notwendigkeit nicht zu verwenden, leiningen?
- Danke Jungs, lein nur mich gerettet die Kopfschmerzen, alles funktioniert einwandfrei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den nicht-schmerzhafte, beliebte Methode ist, um nicht Durcheinander mit maven und klassenpfade und die JRE direkt und verwenden von leiningen: https://github.com/technomancy/leiningen/
Andernfalls können Sie ändern, was auch immer ist in
clj
und hinzufügen/setzen des classpath in welcher Weise java mag. Siehe zum Beispiel Einstellung mehrere jar-Dateien in java-classpathLeiningen wirklich macht diesen Prozess sehr viel weniger schmerzhaft, indem Sie die Einstellung für den Klassenpfad mit dem Projekt verbunden, und vor allem führt zu einer reproduzierbaren build-Prozess. wo Sie zurückkommen können, um das Projekt Jahre später und immer noch ein repl. Einen Allgemeinen überblick über leiningen in diesen Fällen:
dies ist unter der Annahme, dass die Bibliothek, die Sie verwenden, ist nicht bereits Teil oder von einem Paket in ein maven-repo, die viele sind.
Es sollte angemerkt werden, dass haben Sie auch die Möglichkeit, klassenpfade, die zur Laufzeit durch die Bibliothek Granatapfel https://github.com/cemerick/pomegranate
Dies können Sie tun, wie:
Ich gehe davon aus, dass
clj
ist ein Skript zum starten von Clojure REPL. Werfen Sie einen Blick in dieses Skript und suchen Zeile ähnlich dieser:Hier starten Sie Klasse
clojure.main
haben "clojure.jar" auf Ihrem Klassenpfad befinden. Hinzufügen mehr Gläser fügen Sie an das Ende der-cp
option Werte. E. g. unter Linux:(verwenden Sie
;
statt:
auf Windows)Jedoch sehr bald wirst du müde von diesem Weg und suchen nach Projekt-management-tool. So macht es Sinn zu starten, verwenden Sie es jetzt. Werfen Sie einen Blick auf Leiningen - es verwaltet Abhängigkeiten, basierend auf Maven (so wird es extrem einfach ist, neue jar-Datei) und hat REPL.