Domanda

Ho installato Lein con il plug-in Swank, EMACS, Slime e Clojure-Mode e ho creato un nuovo progetto utilizzando Lein New. Ho chiamato il progetto Clojure-test. Quindi apro Clojure_Test/Src/Clojure_Test/Core.clj in EMACS e mentre in questo file Call M-x clojure-jack-in. Questo apre una finestra di melma, che funziona bene; Posso caricare il codice usando C-c C-l, passare allo spazio dei nomi del mio progetto utilizzando C-c M-p, e usa le dipendenze che ho aggiunto al progetto.

Il problema sorge quando, dallo spazio dei nomi "utente", cerco di utilizzare lo spazio dei nomi per il progetto stesso. Chiamata (use 'clojure-test) All'interno della melma dallo spazio dei nomi "utente" risulta nel seguente errore:

Could not locate clojure_test__init.class or clojure_test.clj on classpath:
[Thrown class java.io.FileNotFoundException]
  1. Perché Clojure cerca questi file? Lo spazio dei nomi è apparentemente già caricato, poiché posso passare al fatto C-c M-p, ma per qualche motivo Clojure pensa che questi file particolari siano importanti per usare lo spazio dei nomi.

  2. Come posso impostare il mio progetto in modo da poter usare lo spazio dei nomi di base da melma? Dal momento che Lein dovrebbe occuparsi di questo, quali informazioni non le sto dando di cui ha bisogno?

È stato utile?

Soluzione

Lo spazio dei nomi "clojure-test" dovrebbe essere in ./src/clojure_test.clj (./src è nella classe per impostazione predefinita a meno che tu non lo abbia modificato nel file project.clj)

L'hai messo dentro src/clojure_test/core.clj (Che dovrebbe avere invece ns clojure-test.core)?

Vedere la documentazione per le libs a http://clojure.org/libs

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