Question

J'ai essayé de compiler un très simple test.clj dans Clojure sans aucun succès. J'ai un fil sur la Clojure Google Group avec plusieurs réponses, mais rien n'y fait. Pour résumer rapidement, voici mon fichier de clojure:

(ns test.test
    (:gen-class))

(defn -main
    [gre]
    (println (str "Hello " gre)))

Il s’agit essentiellement du fichier d'exemple fourni dans la documentation Clojure .

J'ai placé ce fichier dans clojure / src / test / test.clj , et je devrais pouvoir le compiler avec (compile 'test.test) , mais Je continue à avoir l’erreur:

java.io.IOException: The system cannot find the path specified (test.clj:1)
, ce qui me laisse penser que c’est un problème de chemin de classes. J'ai essayé d'exécuter Clojure avec toutes les commandes standard indiquées dans la documentation Clojure , ainsi que la dernière suggestion tirée du fil de discussion. java -classpath.; src; classes; clojure.jar clojure.main .

Si cela peut aider, mon système de fichiers ressemble à ceci:

-+-clojure
 +-classes/
 +-+-src/
 | |-+-test/
 | | \-test.clj
 +-\-test.clj
 +-test.clj
 +-clojure.jar

P.S. J'exécute sous Vista Ultimate, donc il est possible que soit probablement un problème d'autorisations, mais j'ai vérifié les autorisations et je n'ai rien trouvé de mal à cela.

Était-ce utile?

La solution

Sortie de la console pour la compilation de test.clj sous Windows:

C:\clojure>dir /b/s
C:\clojure\classes
C:\clojure\src
C:\clojure\src\test
C:\clojure\src\test\test.clj

C:\clojure>java -cp c:\dev\clojure.jar;.\src;.\classes clojure.lang.ReplClojure
user=> (compile 'test.test)
test.test
user=>

Les fichiers de classe générés sont dans le répertoire classes.

Notez également qu'il vous manque une bonne parenthèse dans votre main . Version corrigée:

(ns test.test
    (:gen-class))

(defn -main
    [gre]
    (println (str "Hello " gre)))

Autres conseils

 C:\clojrue\java -cp .\src;.\classes;clojure.jar 
    -Dclojure.compile.path=classes clojure.lang.Compile test.test
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top