Ich folge der Clojurescript QuickStart auf Fenster 7 und stecken mit dem letzten Punkt - mit Leiningen laufen.
einfacher Befehl:Clojurescript Schnellstart Problem mit Leiningen
lein run -m clojure.main repl.clj
Fehler kehren mit enomourous Stacktrace weicht beginnt so:
clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate cljs/repl__init.class or cljs/repl.clj on classpath: , compiling:(X:\n\code\hello_world\repl.clj:1:1)
Ich suche habe das Web und fand am nächsten case, aber ich habe gerade ganzen Code von der Website kopiert Ich glaube, es gibt keinen Tippfehler.
Was fehlt mir?
repl.clj:
(require 'cljs.repl)
(require 'cljs.build.api)
(require 'cljs.repl.browser)
(cljs.build.api/build "src"
{:main 'hello-world.core
:output-to "out/main.js"
:browser-repl true
:verbose true})
(cljs.repl/repl (cljs.repl.browser/repl-env)
:watch "src"
:output-dir "out")
Update: Ich habe mit lein erstellt Projekt 'hw', kopiert repl.clj in das Verzeichnis Projektstamm sowie cljs.jar. Außerdem habe ich cljs.jar in das src-Verzeichnis kopiert (es wurde in der Kurzanleitung erwähnt, dass src automatisch in den Klassenpfad wechselt), aber das Ergebnis ist das gleiche.
project.clj:
(defproject hw "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.6.0"]]
:main ^:skip-aot hw.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
Update 2
Auch mit dem Hinzufügen von clojurescript als Abhängigkeit kein Glück auch:
(defproject hw "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.6.0"]
[org.clojure/clojurescript "1.7.170"]
]
:main ^:skip-aot hw.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
Putting cljs.jar zu lib direcroty auch nicht geholfen hat.
https://youtu.be/ciCQ_Nkis4I
Könnten Sie bitte Ihr 'project.clj' hinzufügen?Es sieht so aus, dass ClojureScript jar möglicherweise nicht zum Klassenpfad hinzugefügt wird. –
Im Leininger Abschnitt wird erwähnt, dass "Klassenpfad" ausgeführt wird. Wenn Sie das ausführen, werden Sie (vermute ich) sehen, dass cljs.jar nicht da ist. Die übliche Sache mit Leiningen zu tun ist, einfach einen Verweis auf ClojureScript in Ihre Abhängigkeiten zu setzen, ähnlich dem, den Sie dort für Clojure haben. –
Vielen Dank für den Rat, aber unglücklicherweise ist src dir in lein classpath https://youtu.be/S7aQAmoqNpM. Ich werde es mit Abhängigkeiten versuchen. –