Before the spec split, the basic way to invoke Clojure at the command line was:
% java -cp clojure.jar clojure.main Documented here: https://clojure.org/guides/getting_started <https://clojure.org/guides/getting_started> Is that still the intended usage with 1.9 going forward? When I try it with 1.9-alpha16, I get an error: Exception in thread "main" java.lang.ExceptionInInitializerError at clojure.main.<clinit>(main.java:20) Caused by: java.io.FileNotFoundException: Could not locate clojure/spec/alpha__init.class or clojure/spec/alpha.clj on classpath. As a work-around, I grabbed the spec jars and added them to the classpath. That worked to get me to the REPL. However, I noticed that I get an error from the doc function. So something is still not right with spec. % java -cp clojure.jar:spec.alpha-0.1.94.jar:core.specs.alpha-0.1.10.jar clojure.main Clojure 1.9.0-alpha16 user=> (doc +) ------------------------- clojure.core/+ ([] [x] [x y] [x y & more]) Returns the sum of nums. (+) returns 0. Does not auto-promote longs, will throw on overflow. See also: +' ClassNotFoundException clojure.spec.alpha$get_spec java.net.URLClassLoader.findClass (URLClassLoader.java:381) user=> *e #error { :cause "clojure.spec.alpha$get_spec" :via [{:type java.lang.NoClassDefFoundError :message "clojure/spec/alpha$get_spec" :at [clojure.repl$print_doc invokeStatic "repl.clj" 109]} {:type java.lang.ClassNotFoundException :message "clojure.spec.alpha$get_spec" :at [java.net.URLClassLoader findClass "URLClassLoader.java" 381]}] :trace [[java.net.URLClassLoader findClass "URLClassLoader.java" 381] [java.lang.ClassLoader loadClass "ClassLoader.java" 424] [sun.misc.Launcher$AppClassLoader loadClass "Launcher.java" 331] [java.lang.ClassLoader loadClass "ClassLoader.java" 357] [clojure.repl$print_doc invokeStatic "repl.clj" 109] [clojure.repl$print_doc invoke "repl.clj" 83] [clojure.lang.Var invoke "Var.java" 381] [user$eval1596 invokeStatic "NO_SOURCE_FILE" 1] [user$eval1596 invoke "NO_SOURCE_FILE" 1] [clojure.lang.Compiler eval "Compiler.java" 6977] [clojure.lang.Compiler eval "Compiler.java" 6940] [clojure.core$eval invokeStatic "core.clj" 3187] [clojure.core$eval invoke "core.clj" 3183] [clojure.main$repl$read_eval_print__9835$fn__9838 invoke "main.clj" 242] [clojure.main$repl$read_eval_print__9835 invoke "main.clj" 242] [clojure.main$repl$fn__9844 invoke "main.clj" 260] [clojure.main$repl invokeStatic "main.clj" 260] [clojure.main$repl_opt invokeStatic "main.clj" 324] [clojure.main$main invokeStatic "main.clj" 423] [clojure.main$main doInvoke "main.clj" 386] [clojure.lang.RestFn invoke "RestFn.java" 397] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.RestFn applyTo "RestFn.java" 132] [clojure.lang.Var applyTo "Var.java" 702] [clojure.main main "main.java" 37]]} I think it would be nice to have an inclusive jar as before. Or we could make Clojure 1.9 tolerant of not having spec available, perhaps by stubbing out the basics of spec. Maybe give a warning that explains how to get the spec jars. Steve Miner -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.