Pregunta

Instalé Lein con el complemento Swank, Emacs, Slime y Clojure-Mode, y creé un nuevo proyecto usando Lein New. He llamado a la prueba del proyecto Clojure. Luego abro clojure_test/src/clojure_test/core.clj en emacs, y mientras está en este archivo llamada M-x clojure-jack-in. Esto abre una ventana de limo, que funciona bien; Puedo cargar código usando C-c C-l, cambie a mi espacio de nombres de proyecto usando C-c M-p, y usar dependencias que he agregado al proyecto.

El problema surge cuando, desde el espacio de nombres del "usuario", intento usar el espacio de nombres para el proyecto en sí. Vocación (use 'clojure-test) Dentro del limo desde el espacio de nombres del "usuario" da como resultado el siguiente error:

Could not locate clojure_test__init.class or clojure_test.clj on classpath:
[Thrown class java.io.FileNotFoundException]
  1. ¿Por qué Clojure busca estos archivos? El espacio de nombres aparentemente ya está cargado, ya que puedo cambiar a través de él a través de C-c M-p, pero por alguna razón Clojure cree que estos archivos particulares son importantes para usar el espacio de nombres.

  2. ¿Cómo configuro mi proyecto para poder usar el espacio de nombres base de Slime? Como se supone que Lein se ocupa de esto, ¿qué información no le estoy dando que necesita?

¿Fue útil?

Solución

El espacio de nombres "Clojure-test" debe estar en ./src/clojure_test.clj (./src está en el classpath de forma predeterminada a menos que lo haya cambiado en su archivo Project.clj)

Lo pusiste src/clojure_test/core.clj (¿Cuál debería tener ns clojure-test.core en su lugar)?

Vea la documentación de las libs en http://clojure.org/libs

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top