2017-09-30 2 views
4

Ich habe vor kurzem - wie in, heute - Interesse an lernen, mit Clojure zu programmieren. Nachdem ich nun die neueste Version von javas jdk installiert und das Skript leiningen heruntergeladen hatte, befolgte ich die Installationsanweisungen für Letzteres, insbesondere die, die unter: http:/www.lispcast.com/clojure-ubuntu angegeben sind.Leiningen kann nicht wegen Java Klasse nicht gefunden Exception

Jetzt, nach dem Ausführen lein version und Herunterladen der relevanten JAR-Datei, wird das Programm mit einem Fehler über eine Klasse nicht gefunden. Der Fehler in Frage lautet wie folgt:

Exception in thread "main" java.lang.ExceptionInInitializerError
bei java.base/java.lang.Class.forName0 (native Methode)
bei java.base/java.lang.Class.forName (Class.java:375)>
bei clojure.lang.RT.classForName (RT.java:2168)
bei clojure.lang.RT.classForName (RT.java:2177)
bei clojure.lang.RT.loadClassForName (RT.java:2196)
bei clojure.lang.RT.load (RT.java:443)
bei clojure.lang.RT.load (RT.java:419)
bei clojure.core $ Last $ fn__5677.invoke (core.clj: 5893)
bei clojure.core $ load.invokeStatic (core.clj: 5892)
bei clojure.core $ load.doInvoke (core.clj . 5876)
bei clojure.lang.RestFn.invoke (RestFn.java:408)
bei clojure.core__init.load (Unknown Source)
bei clojure.core__init (Unknown Source)
bei java.base/java.lang.Class.forName0 (Native Methode)
unter java.base/java.lang.Class.forName (Class.java:375)
bei clojure.lang.RT.classForName (RT.java:2168)
bei clojure.lan g.RT.classForName (RT.java:2177)
bei clojure.lang.RT.loadClassForName (RT.java:2196)
bei clojure.lang.RT.load (RT.java:443)
bei clojure .lang.RT.load (RT.java:419)
bei clojure.lang.RT.doInit (RT.java:461)
bei clojure.lang.RT. (RT.java:331)
bei clojure . .main (main.java:20)
verursacht durch: java.lang.ClassNotFoundException: java/sQL/Zeitstempel
bei java.base/java.lang.Class.forName0 (native Methode)
bei java.base /java.lang.Class.forName(Class.java:375)
bei clojure. lang.RT.classForName (RT.java:2168)
bei clojure.lang.RT.classForNameNonLoading (RT.java:2181)
bei clojure.instant $ loading__5569__auto ____ 6869.invoke (instant.clj: 9)
bei clojure .instant__init.load (Unknown Source)
bei clojure.instant__init. (Unknown Source)
... 23 weitere

Mein Java 9 jdk in /usr/lib/jvm/java-9-oracle/bin/java installiert ist, mit meiner JAVA_HOME Variable auf /usr/lib/jvm/java-9-oracle aber Ich versuchte auch /usr/lib/jvm/java-9-oracle/bin, nur für den Fall. Ich benutze xubuntu 16.04.3, wenn das von Bedeutung ist. Ich habe versucht, die Standard-Java-jdk zurück zu der openjdk, die mit xubuntu gebündelt ist, aber das war auch vergebens.

Nebenbei, das gesamte Problem entstand, weil ich versucht, die REPL in intellij nach der Installation des Cursive-Plugin, die nicht funktioniert. Ich vermutete dann, dass es daran liegen könnte, dass ich leiningen vorher nicht installiert hatte (ich dachte, dass die IDE und die Kursivschrift das mitgeliefert haben würden). Die eigentliche Information darüber, was intellij und clojure benötigt, um erfolgreich zu laufen, ist mir jedoch entgangen, da ein Großteil der Informationen eher "verstreut" ist und ich mir nicht sicher bin, ob ich etwas auf dem Weg verpasst habe.

In jedem Fall habe ich es ziemlich schwer, alles zum Laufen zu bringen - wahrscheinlich, weil ich noch nicht so versiert bin, wenn es um diese Art von Problemen geht, da ich nur kurz auf einer Linux-Distribution war während und auch völlig unbekannt mit clojure. Wenn ich etwas Offensichtliches verpasse, entschuldige ich mich, aber es liegt nahe, dass etwas nur dann offensichtlich sein kann, wenn es so ist.

Alle und alle Vorschläge werden sehr geschätzt.

Antwort

1

Das sieht wie ein Problem aus, das durch das neue Konzept von "Modulen" von Java 9 verursacht wird: Clojure erwartet, auf java.sql.Timestamp zugreifen zu können, aber es kann nicht. Ich habe nicht mit Java-Entwicklung oder Clojure-Entwicklung Schritt gehalten, also kann ich nicht sicher sagen, dass das dein Problem ist, aber es sieht so für mich aus. Versuchen Sie es mit einem früheren JDK.

+0

Das war in der Tat das Problem. Nach dem Ausführen des Oracle-Java-Installers lief alles reibungslos. Danke für die schnelle Antwort. Ich hatte gehofft, dass es nur etwas ist, was ich mit Version 9 falsch gemacht habe, aber leider. – ianarchist

+0

Hier finden Sie eine Liste der Java 9-verwandten Probleme: https://github.com/tobias/clojure-java-9/issues. Und hier ist leinigenspezifische Ausgabe: https://github.com/technomancy/leiningen/issues/2149 –