4

clojureWebフレームワークnoirを使用して小さなWebアプリケーションビルドを配布しようとしています。で実行すると、期待どおりに機能しlein runます。実行するlein uberjarと、java -jar project-1.0.0-standalone.jar期待どおりに動作します。ただし、jarファイル(project-1.0.0-standalone.jar)を移動すると実行されますが、すべてのページが404になります。追加したとを除いて、Myproject.cljがデフォルトで生成されます。lein noir new:omit-source true:aot :all

私が使用しているもの:

ライニンゲン1.7.1

clojure 1.2.1

ノワール1.2.1

ソースなしで他の人に配布できるjarを作成するにはどうすればよいですか?

4

2 に答える 2

0

gen-class 名前空間定義への呼び出しをまだ追加していない場合は、それらを追加するとこれが修正される場合があります。を実行してこれをテストできます

  lein clean
  lein compile

各クラスが構築されていることを確認してください

于 2012-10-28T19:59:14.650 に答える
0

あなたが経験している問題は、noir.server/load-viewsが名前空間を必要とする方法にあると思います。target /ディレクトリから移動すると、load-viewsに渡したviewsディレクトリが見つかりなくなります。

回避策は、load-views関数を使用する代わりに、すべてのビューを明示的に要求することです。そうすれば、どこでもuberjarを実行できるはずです。

于 2013-01-21T01:51:00.643 に答える