Domanda

Ho scaricato Clojure 1.2 https://github.com/downloads/ clojure / clojure / clojure-1.2.0.zip , estratto sotto / directory Biblioteca, CLOJURE_HOME creato, ha aggiunto $ CLOJURE_HOME / script al mio $ PATH.

Quando sto cercando di eseguire script CLJ o Repl che si trovano nella directory di script, sto ottenendo questo errore:

Exception in thread "main" java.lang.NoClassDefFoundError: jline / ConsoleRunner Causato da: java.lang.ClassNotFoundException: jline.ConsoleRunner a java.net.URLClassLoader $ 1.run (URLClassLoader.java:202) a java.security.AccessController.doPrivileged (metodo natale) a java.net.URLClassLoader.findClass (URLClassLoader.java:190) a java.lang.ClassLoader.loadClass (ClassLoader.java:307) a sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:301) a java.lang.ClassLoader.loadClass (ClassLoader.java:248)

Ok, jline.jar non è nel CLASSPATH così ho controllato gli script CLJ e Repl:

CLASSPATH=src/clj:test:test-classes:classes/:script/jline-0.9.94.jar:../clojure-contrib/target/clojure-contrib-1.2.0-SNAPSHOT.jar

if [ -z "$1" ]; then 
   exec java -server jline.ConsoleRunner clojure.main 
else 
   SCRIPT=$(dirname $1) 
   export CLASSPATH=$SCRIPT/*:$SCRIPT:$CLASSPATH 
   exec java -Xmx3G -server clojure.main "$1" "$@" 
fi

Ho scaricato jline.jar sotto $ CLOJURE_HOME / script, ma sto ancora ricevendo lo stesso errore.

Questo mi porta alla domanda:
Qual è il ruolo di https://github.com/downloads/clojure/ clojure / clojure-1.2.0.zip comunque?
E 'dovrebbe essere utilizzato per installare Clojure? o semplicemente per costruire e ottenere clojure.jar?
Ho notato che nessuno sta parlando di installazione Clojure in questo modo.
Mi sto perdendo qualcosa?

È stato utile?

Soluzione

Clojure, essendo un linguaggio JVM, deve fare i conti con il classpath di JVM. Questo rende l'installazione '' un po 'ingombrante e confusa. Piuttosto che installare da soli come questo, provare alcuni strumenti come cljr e torta. Ho scritto un post su questo blog che potrebbe essere utile: http://blog.raynes.me/?p = 48

In sintesi: Partenza cljr , torta e Leiningen .

La maggior parte delle persone nella comunità Clojure non hanno Clojure 'installato'. La maggior parte delle persone utilizzano un tool di creazione e / o cljr. Non ha molto senso installare Clojure ad un posto centrale in cui, inevitabilmente, si sta andando a gestione bisogno di dipendenza, e vasetti verrà copiato dappertutto in ogni caso. In ogni caso, è molto più facile lasciare una maniglia strumento il classpath per voi.

Altri suggerimenti

Il file clojure.zip esiste quindi le persone che scrivono strumenti avranno un posto per i loro strumenti per ottenere le parti di cui hanno bisogno;)

Per le persone non scrivere gli strumenti stanno operando su / con l'ultimo ramo github e in modo da ottenere Clojure con un pull git o stanno utilizzando il sopra liningen accennato, torta, cljr, in senso antiorario (Eclipse), la clojure ( IntelliJ), o di NetBeans.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top