「lein uberjar」で構築された小さなコマンドライン Clojure アプリがあります。結果のjarファイルは、開始時にメイン関数を呼び出さず、スタックトレースやその他のエラー状態の兆候も示しません。
% lein version
Leiningen 2.0.0 on Java 1.7.0_10 Java HotSpot(TM) 64-Bit Server VM
% lein uberjar
Compiling spelunker.core
Compiling spelunker.core
Created /Users/temerson/Work/ddp-qa-tool/spelunker/target/spelunker-0.1.0-SNAPSHOT.jar
Including spelunker-0.1.0-SNAPSHOT.jar
Including lucene-core-3.6.2.jar
Including clojure-1.4.0.jar
Created /Users/temerson/Work/ddp-qa-tool/spelunker/target/spelunker-0.1.0-SNAPSHOT-standalone.jar
% java -jar target/spelunker-0.1.0-SNAPSHOT-standalone.jar
%
何も表示しない代わりに、使用法メッセージを表示する必要があります。私は(私にとって)明白なことをチェックしました:私のプロジェクトファイルには
(defproject spelunker "0.1.0-SNAPSHOT"
:description "Spelunk through Lucene data to find nuggets of useful data."
:dependencies [[org.clojure/clojure "1.4.0"]
[org.apache.lucene/lucene-core "3.6.2"]]
:main spelunker.core
:aot [spelunker.core])
および spelunker/core.clj が含まれています
(ns spelunker.core
(:import (org.apache.lucene.analysis.standard StandardAnalyzer)
(org.apache.lucene.document Document Field Field$Store Field$Index)
(org.apache.lucene.index IndexReader IndexWriter IndexWriter$MaxFieldLength)
(org.apache.lucene.store NIOFSDirectory RAMDirectory)
(org.apache.lucene.util Version))
(:gen-class))
main 関数は次のように定義されます (今のところ):
(defn -main [& args]
(print "DAFUQ?"))
すべての意図と目的で、これは機能するはずです。スタブアプリを作成すると、leiningen app new
正常に機能します。しかし、上記ではありません。
少なくともなんらかのスタック トレース (つまり、調査できるもの) を取得できれば問題ないと思いますが、沈黙が私を殺しています。
誰にもアイデアはありますか?
どうもありがとう。