查看Leiningen教程中文版的源代码
←
Leiningen教程中文版
跳转到:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
=== Uberjar === 最简单的事情是分发一个uberjar。这是一个单一的独立的可执行jar文件,特别适合给非技术用户。为了让它工作,你必须设置命名空间,作为project.clj里的<code>:main</code>。此时,我们的project.clj看起来像这样: (defproject my-stuff "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.3.0"] [org.apache.lucene/lucene-core "3.0.2"] [clj-http "0.4.1"]] :profiles {:dev {:dependencies [[midje "1.3.1"]]}} :test-selectors {:default (complement :integration) :integration :integration :all (fn [_] true)} :main my.stuff) 你设置的命名空间必须包含一个<code>-main</code>函数,它将在独立的可执行文件运行的时候被调用。这个命名空间必须在顶层的<code>ns</code> form里有一个<code>:gen-class</code>声明,<code>-main</code>函数会接收命令行参数,让我们在<code>src/my/stuff.clj</code>尝试点简单的玩意: (ns my.stuff (:gen-class)) (defn -main [& args] (println "Welcome to my project! These are your args:" args)) 现在我们已经准备好产生一个uberjar: $ lein uberjar Compiling my.stuff Compilation succeeded. Created /home/phil/src/leiningen/my-stuff/target/my-stuff-0.1.0-SNAPSHOT.jar Including my-stuff-0.1.0-SNAPSHOT.jar Including clj-http-0.4.1.jar Including clojure-1.3.0.jar Including lucene-core-3.0.2.jar Created /home/phil/src/leiningen/my-stuff/target/my-stuff-0.1.0-SNAPSHOT-standalone.jar 这样将创建一个包含了所有依赖内容的单一jar文件。用户可以通过<code>java</code>调用运行它,或者在某些操作系统上,可以通过双击该jar文件来运行。 $ java -jar my-stuff-0.1.0-standalone.jar Hello world. Welcome to my project! These are your args: (Hello world.) 你可以利用<code>java</code>命令行运行一个普通的(非uber)jar,但是这需要你自己构建classpath,对于终端用户来说这不是一个好办法。 当然,如果你的用户已经安装了Leiningen,你可以教导他们使用上文介绍的<code>lein run</code>。
返回到
Leiningen教程中文版
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面