gpt4 book ai didi

clojure - leiningen 的命令行参数

转载 作者:行者123 更新时间:2023-12-03 22:30:48 27 4
gpt4 key购买 nike

我最近开始使用 clojure,我正在使用 leiningen 创建一个小项目。我在让 leiningen 使用命令行参数时遇到了麻烦。以下是我的src/project/core.clj

(ns project.core
(:gen-class))

(defn -main [& args]
(println (apply str args)))

和我的 project.clj
(defproject project "1.0.0-SNAPSHOT"
:description "FIXME: write"
:main project.core
:dependencies [[org.clojure/clojure "1.2.0"]
[org.clojure/clojure-contrib "1.2.0"]])

现在当我运行时 lein run arg1 arg2 ,它给了我这个错误:
Exception in thread "main" java.lang.Exception: Unable to resolve symbol: arg1 in this context (NO_SOURCE_FILE:1)
at clojure.lang.Compiler.analyze(Compiler.java:5205)
at clojure.lang.Compiler.analyze(Compiler.java:5151)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3057)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:5371)
at clojure.lang.Compiler.analyze(Compiler.java:5190)
at clojure.lang.Compiler.analyze(Compiler.java:5151)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:4670)
at clojure.lang.Compiler$FnMethod.parse(Compiler.java:4328)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3173)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:5367)
at clojure.lang.Compiler.analyze(Compiler.java:5190)
at clojure.lang.Compiler.eval(Compiler.java:5421)
at clojure.lang.Compiler.eval(Compiler.java:5415)
at clojure.lang.Compiler.eval(Compiler.java:5391)
at clojure.core$eval.invoke(core.clj:2382)
at clojure.main$eval_opt.invoke(main.clj:235)
at clojure.main$initialize.invoke(main.clj:254)
at clojure.main$null_opt.invoke(main.clj:279)
at clojure.main$main.doInvoke(main.clj:354)
at clojure.lang.RestFn.invoke(RestFn.java:422)
at clojure.lang.Var.invoke(Var.java:369)
at clojure.lang.AFn.applyToHelper(AFn.java:165)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.main.main(main.java:37)
Caused by: java.lang.Exception: Unable to resolve symbol: arg1 in this context
at clojure.lang.Compiler.resolveIn(Compiler.java:5677)
at clojure.lang.Compiler.resolve(Compiler.java:5621)
at clojure.lang.Compiler.analyzeSymbol(Compiler.java:5584)
at clojure.lang.Compiler.analyze(Compiler.java:5172)
... 23 more

但是,如果我做 lein uberjar然后做 java -jar project-1.0.0-SNAPSHOT-standalone.jar arg1 arg2 ,我得到了正确的输出。
arg1arg2

在开发过程中每次都必须创建 uberjar 来运行它不是很舒服,有没有更好的方法?

最佳答案

这看起来是由 git 中修复的错误引起的。修复将在 1.4.2 中,它应该会在几天后发布。同时,您可以使用此处讨论的解决方法:http://groups.google.com/group/clojure/msg/a8160b23a5019a12

关于clojure - leiningen 的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4560802/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com