13

main単一のコードベースから、さまざまなエントリポイントを持つ多数の uberjar を作成したいと考えています。main名前空間を引数として指定できるようですがlein uberjar、結果のファイル名またはパスを指定する方法がわからないため、互いに上書きされます。コマンドラインから出力ファイル名またはパスを上書きする方法はありますか?

または、これを行うより良い方法はありますか?すべてが中央の「ライブラリ」プロジェクトを参照する個別のプロジェクト ファイルがありますか? もしそうなら、これの物理的構造はどのように見え、どのように構築するのですか?

4

2 に答える 2

22

複数のLeiningen プロファイルを使用して、話している内容を実現できます。

(defproject project1 "0.1.0-SNAPSHOT"
  :description "Something Amazing!"
  :dependencies [[org.clojure/clojure "1.5.1"]]
  :profiles {:v1 {:main project1.core1
                  :uberjar-name "uberjar1.jar"}
             :v2 {:main project1.core2
                  :uberjar-name "uberjar2.jar"}
             :v3 {:main project1.core3
                  :uberjar-name "uberjar3.jar"}})

そして、あなたはそれらを構築することができます:

$ lein with-profile v1:v2:v3 uberjar
于 2013-10-12T15:04:14.490 に答える