問題タブ [leiningen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
178 参照

clojure - プロジェクトプロパティをリテラル以外の文字列に設定すると、leiningenでは機能しないようです

簡単なプロジェクトファイルを取ります。

(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT":description "Sample clojure application-clojure 1.3!":blah "hello")

(get project:blah)を読むと、期待どおりに「hello」文字列が返されます。

「こんにちは」を置き換えると

:blah(slurp "some file ...")

エラーが発生します。原因:java.lang.ClassCastException:clojure.lang.PersistentListをjava.lang.Stringにキャストできません

私が期待していることを評価していないようです、何かアイデアはありますか?

0 投票する
2 に答える
3215 参照

unit-testing - Leiningenプロジェクトに単体テストを追加するにはどうすればよいですか?

leiningenには優れたユニットテストプラグインがあることに気づきました。「leintest」と入力するだけです:)。ただし、テストファイルをどのように「検索」するかは明確ではありません。それらを配置する必要がある特定のフォルダーはありますか?または、名前空間をスキャンするだけの場合(これは、leinのドキュメントに記載されています)、leiningenがテストを表示するために使用する必要のある名前空間をどのように知ることができますか?

私はtests.cljという1つのテストファイルを作成することを考えていました。サンプルテンプレートは本当にいいでしょう。

0 投票する
2 に答える
2497 参照

clojure - Compojure:生産中のラインリング?

人々は、Compojureアプリケーションを簡単にデプロイするためにラインリングを使用することを提案しているようです。それは単に開発のためのものではありませんか?私は、lein-ringで実行されている同じアプリとuberjarを使用してleiningenでパックされた同じアプリのベンチマークを行いました(java -jarで実行され、ring-jettyが含まれています)。

驚いたことに、ラインリングを使用するとパフォーマンスが少し向上します。私は何かが足りないのですか?

どうすればlein-ringを使い続けることができますが、例外が発生した場合にスタックトレースを出力したり、変更されたファイルをチェックしたりすることは避けられますか?

ありがとう

0 投票する
1 に答える
518 参照

unit-testing - Leiningenでテスト名を印刷する方法は?

実行中の各ライニンゲンテストメソッドを印刷したいと思います。比較的単純なleinテストファイルがあります。

テストを実行するときに、replで「test1」が出力されるのを見たいです。メソッド名を出力する簡単な方法はありますか(myfixtureでbのメソッドを呼び出すか、「leintest」の呼び出しで)?

0 投票する
2 に答える
15316 参照

clojure - ring/compojure を使用した静的ファイルの提供 - 戦争から

リング(およびlein-ringツール)を使用すると、開発中にドキュメントに従って「リソース」などから静的ファイルを提供できます-ただし、lien uberwarを介してパッケージ化すると、作成方法がわかりませんコンテナで実行するときにこれらのファイルを提供します。wrap-resource または :resource-path の設定で競合するドキュメントが表示されますが、どれも機能していないようです。

0 投票する
1 に答える
976 参照

tomcat - Compojure:ファイルシステムにアクセス

これは私のproject.cljファイルです:

そしてこれは私のルーティング:

いくつかのWeb静的ファイルが/resources/publicあり、それらにアクセスできます。コードでは、とにあるファイルシステム上のいくつかのファイルにもアクセスする必要があり/resources/dataます/resources/tpllein ringサーバーまたはを使用するlein runと、次の呼び出しが正常に機能します

しかし、lein uberwarTomcatを使用してアプリケーションをパックしてデプロイすると、失敗し、FileNotFoundExceptionが発生します。おそらくこれは、leinでは現在の作業ディレクトリがプロジェクトルートであり、TomcatではTomcatのbinディレクトリであるためです。

たとえば、「resources / data / data.dat」がTomcatで機能しないか、「data / data.dat」が開発で機能しないため/resources/data/data.dat、戦争に巻き込まれています。/data/data.dat

ちなみに、Compojureでこれを管理する適切な方法は何ですか?ありがとう。

0 投票する
1 に答える
1961 参照

maven - Leiningen: project.clj で Maven の groupId とパッケージング プロパティを設定する方法

Maven を使用する Java プロジェクトの 1 つでパッケージ化して使用したい Clojure プロジェクトがあります。

Leiningen を使用して pom.xml ファイルを生成すると、groupId が artifactId に設定されますが、groupId を親 Java プロジェクトと同じにする必要があります。

また、pom.xml でパッケージ タイプを jar に指定できるようにしたいと考えています。

つまり、project.clj で groupId とパッケージング プロパティを設定して、これらのプロパティを含む pom.xml を生成するにはどうすればよいでしょうか。

0 投票する
1 に答える
556 参照

clojure - LeinをJFreeChartとDejcartesで動作させるにはどうすればよいですか?

Leinをclojureで使用する方法を理解し、Win7x64に正しい.jarファイルをダウンロードする方法を理解しようとしています。具体的な例として、JFreeChartとDejcartesを使おうとしています。

私の質問は一般的なものであり、JfreeChartに固有のものではありません。私は基本的に、特定のパッケージを使用する例を見るのと、そのパッケージをlein経由で利用できるようにするのとの間のギャップを埋める方法を理解していません。うまくいけば、誰かが他のパッケージにも適用できる方法で答えることができます。

次のリンクを参照してください:https ://github.com/markmfredrickson/dejcartes/blob/master/Readme.txt 私のproject.cljは次のようになっています(この投稿の最後の2行をコメントアウトしています)。

  1. Dejcartes(import '(org.jfree.chart chartframe))のreadme.txtで使用されているので、JFreeChart用の.jarファイルが必要だと思います。

    [org.jfree/chart "1.0.13"]project.cljを入力しましたが、lein deps次のように文句を言います。

    .jarファイルを直接ダウンロードする必要があると思いますが、.jarファイルを取得したら、それをクラスパスに配置するようにleinを誘導して、emacsなどを使用してlein swankできるようにするにはどうすればよいですか?

  2. Dejcartesの例では使用しているので、project.clj(require '[com.markmfredrickson.dejcartes :as chart])に入れます。[com.markmfredrickson/dejcartes "1.0.0"]これは、実行するとダウンロードを開始するように見えますlein depsが、同じようにチョークします。

    (clojars)からダウンロードしているとされるリポジトリの1つには、大きなリストにDejcartesが表示されていません。LeinにDejcartesをダウンロードさせるにはどうすればよいですか?

  3. 最後に、パッケージの使用を開始したい場合、leinに最新バージョンを自動的に検索させるにはどうすればよいですか?これについては何も見ていません。すべてのproject.cljの例は、バージョンをハードコーディングしているようです"1.0.2"

どうもありがとう

マイケル

0 投票する
5 に答える
4402 参照

emacs - leiningenを使用したclojure用のemacs/slime/swankのセットアップ

短いバージョン:leinswankを使用してswankサーバーを起動するときにMxslime-connectまたはMxclojure-jack-inを実行するとエラーが発生します。

Ubuntu10.10でemacs24.0.50.1を使用しています。ELPAのemacsに次のパッケージをインストールしました:clojure-mode、paredit、slime、slime-repl

githubからleiningenをインストールしてクラスパスに追加し、実行しました lein plugin install swank-clojure 1.3.3。その後、新しいディレクトリ〜/ tmp /を作成し、そこにcdして実行しました。 これで、lein new test-projectすべてが正常にセットアップされたようです。次に、emacsで/tmp/new-project/project.cljを開き、次のように変更しました。

その後、/ tmp / new-projectフォルダーに戻り、実行lein depslein swankて依存関係をダウンロードし、出力を提供するswankサーバーを起動します。

emacsに戻ると、swankサーバーに接続するのに問題があります。core.cljファイルを開いて実行しようとしましM-x slime-connectたが、エラーが発生します。

これにより、swankサーバーが実行されていないか、サーバーを表示するために実行する必要のある構成がいくつかあると思います。また、(同じファイルを開き、project.cljを開いて)M-x clojure-jack-inプロジェクトフォルダーでclojure REPLを開始しようとすると思いますが、次のようになります。

私はemacsパッケージとleinセットアップについてhttp://matthias-schneider.org/docs/clojure-setup/からの指示に従い、 http: //riddell.us/ClojureSwankLeiningenWithEmacsOnLinux.htmlからのテスト構成の指示に従い始めました。 Mxスライム接続でREPLを開くのに問題がありました。

更新

〜/ tmp / test-projectを削除し、emacsと/.emacs.d/elpa/パッケージをアンインストールし、emacsを再インストールし、clojure-modeとpareditパッケージを再インストールし、〜/.leinを/binにコピーして、パスの問題がないことを確認しました(以前は/.leinまたは/.lein/binをパスに含める必要があるかどうかわからない)。/.lein/bin/swank-clojure実行してからemacsを開き、project.cljを開いて試してみましM-x slime-connectた。これにより、ホスト(ローカルのデフォルト)、ポート(4005のデフォルト)が要求され、swankに接続すると、swankとslimeのバージョンが異なる(yまたはn)yの場合、ミニバッファはを与えerror in process filter: Lisp connection closed unexpectedlyます。実行したターミナルで/.lein/bin/swank-clojure、次のJavaエラーが表示されます。

更新: 解決しました。emacsをアンインストールして、/ elpa /内のパッケージだけでなく、/。emacs.d/をすべて削除する必要がありました。再インストールした後、私はclojure-modeパッケージのみを取得し、slimeまたはslime-replは取得しませんでした。これで、接続しM-x clojure-jack-inて作業を行う準備ができました。

0 投票する
1 に答える
1501 参照

build - Leiningenは動作するuberjarの構築に問題があります

Leiningenを使用してClojureプロジェクトを構築しようとしています。次のようにして、uberjarを作成することに成功しました。

前提条件:

  • project.cljファイルは依存関係をリストします
  • :main my-project.coreproject.cljで
  • -main関数を含むcore.cljファイル
  • (:gen-class :main true)core.cljで

手順:

  • 走ったlein test; 失敗せずに完了
  • 走ったlein deps; 正常に完了しました
  • project.cljのディレクトリから:rainlein uberjar
  • これにより、My-Project-1.0.0-SNAPSHOT-standalone.jarとMy-Project-1.0.0-SNAPSHOT.jarの2つのjarファイルが作成されました。
  • を実行しjava -jar BioClojure-1.0.0-SNAPSHOT-standalone.jarたため、次の例外が発生しました。

スレッド"main"の例外java.lang.SecurityException:マニフェストのメイン属性の署名ファイルダイジェストが無効です

この問題に関する私の研究は実を結びませんでした。 どうやら、それは良い解決策のない既知の問題です。そこの答えがわかりません。

uberjarを機能させるには何をする必要がありますか?

  • 問題の原因となっている依存関係を特定しますか?
  • プロジェクトから依存関係を削除しますか?
  • プロジェクトを他の方法でコンパイルしますか?
  • パッチライニンゲン?
  • 提案されたコマンドを使用します:( zip *-standalone.jar -d META-INF/DUMMY.SFこれが何をするのかわかりません)
  • :uberjar-exclusionsproject.cljファイルで何かをしますか?(もしそうなら、何?)

Leinおよびjavaバージョン:


更新:提案されたコマンドを実行すると、次のようになります。