Clojure, Leiningen et CLASSPATH sous Windows
Question
Quelle est la bonne façon d'installer Leiningen sous Windows? J'ai attrapé le script et fait l'auto-installation. J'ai essayé d'exécuter lein new tutorial et j'ai obtenu cette erreur:
Exception dans le thread "main" java.lang.RuntimeException: java.io.FileNotFoundExcep tion: Impossible de localiser leiningen / core__init.class ou leiningen / core.clj sur la classe chemin: à clojure.lang.Util.runtimeException (Util.java:165) à clojure.lang.Compiler.eval (Compiler.java:6476) à clojure.lang.Compiler.eval (Compiler.java:6431) à clojure.core $ eval.invoke (core.clj: 2795) à clojure.main $ eval_opt.invoke (main.clj: 296) à clojure.main $ initialize.invoke (main.clj: 315) à clojure.main $ script_opt.invoke (main.clj: 339) à clojure.main $ main.doInvoke (main.clj: 426) à clojure.lang.RestFn.invoke (RestFn.java:482) à clojure.lang.Var.invoke (Var.java:417) à clojure.lang.AFn.applyToHelper (AFn.java:178) à clojure.lang.Var.applyTo (Var.java:518) à clojure.main.main (main.java:37) Provoqué par: java.io.FileNotFoundException: impossible de localiser leiningen / core_ init. class ou leiningen / core.clj sur le chemin de classe: à clojure.lang.RT.load (RT.java:430) à clojure.lang.RT.load (RT.java:398) à clojure.core $ load $ fn _4610.invoke (core.clj: 5386) à clojure.core $ load.doInvoke (core.clj: 5385) à clojure.lang.RestFn.invoke (RestFn.java:408) à clojure.core $ load_one.invoke (core.clj: 5200) à clojure.core $ load_lib.doInvoke (core.clj: 5237) à clojure.lang.RestFn.applyTo (RestFn.java:142) à clojure.core $ apply.invoke (core.clj: 602) à clojure.core $ load_libs.doInvoke (core.clj: 5271) à clojure.lang.RestFn.applyTo (RestFn.java:137) à clojure.core $ apply.invoke (core.clj: 604) à clojure.core $ use.doInvoke (core.clj: 5363) à clojure.lang.RestFn.invoke (RestFn.java:408) à l'utilisateur $ eval1.invoke (NO_SOURCE_FILE: 1) à clojure.lang.Compiler.eval (Compiler.java:6465) ... 11 de plus
Après avoir obtenu ceci, j'ai ajouté ceci à mon chemin de classe: C: \ Users \ Owner.lein \ self-installs \ leiningen-2.0.0-SNAPSHOT-standalone.jar A couru à nouveau et a eu la même erreur. Que me manque-t-il?
MISE À JOUR Je suis allé avec la version 1.6.2 basée sur la suggestion de @mtyaka
Maintenant, j'obtiens cette erreur:
Exception dans le thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodErr ou: clojure.lang.KeywordLookupSite. (ILclojure / lang / Keyword;) V à clojure.lang.Util.runtimeException (Util.java:165) à clojure.lang.Compiler.eval (Compiler.java:6476) à clojure.lang.Compiler.eval (Compiler.java:6431) à clojure.core $ eval.invoke (core.clj: 2795) à clojure.main $ eval_opt.invoke (main.clj: 296) à clojure.main $ initialize.invoke (main.clj: 315) à clojure.main $ script_opt.invoke (main.clj: 339) à clojure.main $ main.doInvoke (main.clj: 426) à clojure.lang.RestFn.invoke (RestFn.java:482) à clojure.lang.Var.invoke (Var.java:417) à clojure.lang.AFn.applyToHelper (AFn.java:178) à clojure.lang.Var.applyTo (Var.java:518) à clojure.main.main (main.java:37) Causé par: java.lang.NoSuchMethodError: clojure.lang.KeywordLookupSite. (IL clojure / lang / Mot-clé;) V à leiningen.util.paths $ native_arch_path. (paths.clj: 32) à leiningen.util.paths_ init.load (source inconnue) à leiningen.util.paths _init. (Source inconnue) à java.lang.Class.forName0 (méthode native) à java.lang.Class.forName (source inconnue) à clojure.lang.RT.loadClassForName (RT.java:2030) à clojure.lang.RT.load (RT.java:417) à clojure.lang.RT.load (RT.java:398) à clojure.core $ load $ fn__4610.invoke (core.clj: 5386) à clojure.core $ load.doInvoke (core.clj: 5385) à clojure.lang.RestFn.invoke (RestFn.java:408
) à clojure.core $ load_one.invoke (core.clj: 5200) à clojure.core $ load_lib.doInvoke (core.clj: 5237) à clojure.lang.RestFn.applyTo (RestFn.java:142) à clojure.core $ apply.invoke (core.clj: 602) à clojure.core $ load_libs.doInvoke (core.clj: 5271) à clojure.lang.RestFn.applyTo (RestFn.java:137) à clojure.core $ apply.invoke (core.clj: 602) à clojure.core $ require.doInvoke (core.clj: 5352) à clojure.lang.RestFn.invoke (RestFn.java:408) à leiningen.core $ loading_ 4414 _auto_ .invoke (core.clj: 1) sur leiningen.core _init.load (source inconnue) à leiningen.core_ init. (Source inconnue) à java.lang.Class.forName0 (méthode native) à java.lang.Class.forName (source inconnue) à clojure.lang.RT.loadClassForName (RT.java:2030) à clojure.lang.RT.load (RT.java:417) à clojure.lang.RT.load (RT.java:398) à clojure.core $ load $ fn _4610.invoke (core.clj: 5386) à clojure.core $ load.doInvoke (core.clj: 5385) à clojure.lang.RestFn.invoke (RestFn.java:408) à clojure.core $ load_one.invoke (core.clj: 5200) à clojure.core $ load_lib.doInvoke (core.clj: 5237) à clojure.lang.RestFn.applyTo (RestFn.java:142) à clojure.core $ apply.invoke (core.clj: 602) à clojure.core $ load_libs.doInvoke (core.clj: 5271) à clojure.lang.RestFn.applyTo (RestFn.java:137) à clojure.core $ apply.invoke (core.clj: 604) à clojure.core $ use.doInvoke (core.clj: 5363) à clojure.lang.RestFn.invoke (RestFn.java:408) à l'utilisateur $ eval1.invoke (NO_SOURCE_FILE: 1) à clojure.lang.Compiler.eval (Compiler.java:6465) ... 11 de plusLa solution
Il semble que vous essayez d'installer leiningen 2 qui est actuellement en cours de développement et n'est pas encore vraiment prêt.Je ne serais pas surpris si self-install
ne fonctionne pas pour le moment, en particulier sous Windows.
Veuillez essayer la version stable de lein.bat
(actuellement 1.6.2).
/ p>
Autres conseils
Je voulais juste attirer l'attention sur la solution, car pour l'instant elle se trouve dans les commentaires de la première réponse.Si vous obtenez la xception dans le thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodErr ... vous devez supprimer le fichier jar clojure de votre chemin de classe.
J'utilisais Leiningen 1.6.2 et clojure-1.3.0, tout comme brun, donc je ne peux pas dire avec certitude si d'autres versions ont le même problème.