How can I run a clojure file/script, which uses clojure-contrib, from the command line? My (winodws) machine has clojure-1.2.1.jar and clojure-contrib-1.2.0.jar on the classpath. Note: I can start the REPL with: java clojure.mainand I can execute *.clj files that DO NOT use clojure-contrib with: java clojure.main file-name.clj
-
If you are sure that clojure-contrib-1.2.0.jar is on the classpath, I suggest verifying that the jar is a valid jar file, e.g. using this command: jar tvf clojure-contrib-1.2.0.jar. (Assumes the jar is in the current directory.)user100464– user1004642011-07-13 22:22:27 +00:00Commented Jul 13, 2011 at 22:22
-
if you could give us feedback about our answers, we might be able to help you furtherbmillare– bmillare2011-07-20 22:04:16 +00:00Commented Jul 20, 2011 at 22:04
Add a comment
|
3 Answers
You need to add the clojure-contrib jar to the classpath. Since you are using windows, you add multiple classpaths by separating the entries with semicolons.
java -cp clojure-1.2.1.jar;clojure-contrib-1.2.0.jar clojure.main file-name.clj
The above code should enable you to run your file-name.clj script which depends on clojure-contrib.
Comments
This line will run a clojure script "hello-world.clj". It first adds the clojure jar to the class path first and then will execute the file.
java -cp clojure.jar clojure.main hello-world.clj
4 Comments
user100464
Downvoting. The OP wanted to know how to run a clojure file/script that uses clojure-contrib. Your example will not do that.
Rayne
Upvoting because the reason for downvoting was silly. You've got to leave something as an exercise to the reader.
user100464
A careful re-reading of the OP's question will reveal that the OP is capable of running a script that depends only on clojure.core. An answer stating, "Clojure depends on Java" would also leave something to the imagination but would also be deserving of a downvote because it, too, would do nothing to contribute to the OP's question.
bukzor
@rayne I don't see it as self evident that "You've got to leave something as an exercise to the reader." Certainly answering the question shouldn't.