Todavía soy bastante nuevo en Clojure, por lo que me disculpo si esta es una pregunta completamente nueva, pero no pude encontrar una respuesta suficiente en línea.¿Cómo hago referencia a funciones en otros archivos con leiningen?
Básicamente, mi problema es que cada vez que trato de ejecutar mi proyecto, me sale un error como:
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate greeter__init.class or greeter.clj on classpath:
En este caso, greeter.clj está en el proyecto en el mismo directorio que el archivo que contiene mi función principal.
Con fines ilustrativos, he creado un proyecto que tiene un árbol de directorios como esto:
Mi código para core.clj es el siguiente:
(ns omg.core
(require [greeter]))
(defn -main[] (greet))
Mi código para greeter.clj es:
(ns greeter)
(defn greet [] println("Hello world"))
Siempre que escribo lein run -m omg.core
Recibo la excepción mencionada anteriormente. ¿Qué estoy haciendo mal?
Arthur, muchas gracias por su respuesta y su explicación. Realmente lo aprecio. Lo hice funcionar eliminando el requerimiento y agregando (use omg.greeter) en su lugar. –