2012-04-25 14 views
6

ho creato un progetto Lein, di aggiornare la sua project.clj con dev-dipendenza eclipsin Leiningen eclisse non potrebbe individuare clojure/contrib/duck_streams__init.class o clojure/contrib/duck_streams.clj

mi sono imbattuto "lein deps"

è scaricato tutte le dipendenze

ma in my.m2 directory/repository non esiste una directory clojure. e questo mi provoca

leiningen.eclipse Problema di carico: java.io.FileNotFoundException: Impossibile trovare clojure/contrib/duck_streams__init.class o clojure/contrib/duck_streams.clj sul classpath: (eclipse.clj: 1)

errore quando ho eseguito "lein help" che mi abbandona per sviluppare con eclissi perché non posso eseguire il mio comando "lein eclipse".

Qualsiasi soluzione per questo ??? Grazie in anticipo.

mia project.clj è riportata qui sotto

(

    defproject for_test "1.0.0-SNAPSHOT" 

    :description "FIXME: write description" 

    :dependencies [[org.clojure/clojure "1.2.1"]] 

    :dev-dependencies [[lein-eclipse "1.0.0"]] 

) 

Thnks 'n saluti, Chirag ghiyad

risposta

5

clojure.contrib è una libreria separata, e quindi è la dipendenza deve essere indicato in modo esplicito

:dependencies [[org.clojure/clojure "1.2.1"] 
       [org.clojure/contrib "1.2.0"]] 

Da 1,3 in poi, il monolitico clojure.contrib non esiste più e le librerie sono state suddivise come separate libraries.

Queste librerie devono essere trovate in/m2/org/clojure/clojure e/m2/org/clojure/clojure/contrib. Si noti che non vengono inseriti automaticamente nel classpath, solo eseguendo lein eclipse dopo l'esecuzione di lein deps, che modifica l'eclipse .classpath e il file .projects.

A proposito, suggerirei di utilizzare lein plugin install lein-ccw "1.2.0", che è compatibile con Clojure 1.3 rispetto a lein-eclipse. Invece di eseguire lein eclipse dopo lein deps, è necessario utilizzare lein ccw.

Ho sempre installato lein-eclipse o lein-ccw plugins in leiningen tramite una riga di comando, quindi non so come dovrebbero funzionare le dipendenze di dev. In Leiningen 2.0, hanno separato funzionalità plugin e dev-dependency.

(Nota: entrambi questi plugin sono utilizzabili solo in stabile 1.7.1 Leiningen)

+0

ho applicato la tua suggerimento dopo l'eliminazione di my.m2/repository ..ma quanto non mi dà l'errore di sotto ....---------- 1 Manca l'artefatto richiesto. per artefatto: org.apache.maven: super-pom: vaso: 2.0 dai repository remoti specificati: centrale (http://repo1.maven.org/maven2), clojars (http: // clojars.org/repo/) –

+0

stai dicendo che dopo l'esecuzione ... lein plugin installa lein-eclipse "1.2.0" ... non ho bisogno di aggiungere questo ....: dev-dependencies [[lein-eclipse "1.0.0"]] ... linea nel mio project.clj ?? –

+0

Il mio problema si risolve dopo aver aggiornato la versione del clojure alla 1.7.1, apprezzo il tuo aiuto @NielsK –

3

dispiace, ma non posso commentare ancora così scrivo una risposta.

La risposta è antiquato, si noti che il nome del pacchetto dovrebbe essere/clojure-contrib invece che/contrib, altrimenti

lein deps 

non troverete i pacchetti

:dependencies [[org.clojure/clojure "1.5.1"] 
       [org.clojure/clojure-contrib "1.2.0"]] 
Problemi correlati