Sono ancora abbastanza nuovo in Clojure, quindi mi scuso se questa è una domanda completamente nuova, ma non sono riuscito a trovare una risposta sufficiente online.Come faccio a fare riferimento a funzioni in altri file con leiningen?
In sostanza, il mio problema è che ogni volta che si tenta di eseguire il mio progetto, ottengo un errore come:
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate greeter__init.class or greeter.clj on classpath:
In questo caso, greeter.clj è in progetto nella stessa directory del file contenente la mia funzione principale.
Per scopi illustrativi, ho creato un progetto che ha un albero di directory simile a questo:
Il mio codice per core.clj è la seguente:
(ns omg.core
(require [greeter]))
(defn -main[] (greet))
Il mio codice per greeter.clj è:
(ns greeter)
(defn greet [] println("Hello world"))
Ogni volta che digito lein run -m omg.core
Ricevo l'eccezione sopra menzionata. Che cosa sto facendo di sbagliato?
Arthur, grazie mille per la risposta e la tua spiegazione. Lo apprezzo molto. Ho funzionato eliminando la richiesta e aggiungendo (usa omg.greeter) al suo posto. –