0

開始したリングサーバーでエラーが表示されます lein with-profile dev ring server

java.io.FileNotFoundException: Could not locate midje/sweet__init.class or midje/sweet.clj on classpath: , compiling:(news/routes/headlines_test.clj:1:1)
...

ここに私のproject.cljがあります:

(defproject news "0.1.0-SNAPSHOT"
  :description "..."
  :url "https://herokuapp.com"
  :min-lein-version "2.0.0"

  :ring {:handler news.core.handler/app
         :init    news.core.handler/init}

  :dependencies [[org.clojure/clojure   "1.6.0"]
                 [compojure             "1.3.1"]
                 [ring/ring-defaults    "0.1.3"]
                 [liberator             "0.11.0"]
                 [cheshire              "5.3.1"]
                 [org.clojure/java.jdbc "0.3.6"]
                 [postgresql/postgresql "9.3-1102.jdbc41"]
                 [yesql                 "0.5.0-rc1"]
                 [environ               "1.0.0"]]

  :plugins [[lein-ring    "0.9.1"]
            [lein-environ "1.0.0"]]

  :profiles {:dev-default  {:dependencies [[ring/ring-devel           "1.3.1"]]}
             :test-default {:dependencies [[midje                     "1.6.3"]
                                          [javax.servlet/servlet-api  "2.5"]
                                          [ring-mock                  "0.1.5"]]
                            :plugins      [[lein-midje                "3.1.3"]]}
             :production-default {:ring {:open-browser? false
                                         :stacktraces?  false
                                         :auto-reload?  false}}

             ;; Set these in ./profiles.clj
             :dev-env-vars  {}
             :test-env-vars {}

             :dev  [:dev-default  :dev-env-vars]
             :test [:test-default :test-env-vars]
             :production [:production-default] })

私の混乱は次のとおりだと思います:開発環境でサーバーを実行しているときに midje に関するエラーが発生するのはなぜですか?

4

1 に答える 1

2

を使用する必要がありますlein with-profile +dev ring server。使用する場合lein with-profile dev ring server(before dev がないことに注意してください+)、dev プロファイルが使用され、デフォルトが置き換えられます。

さまざまなプロファイルをアクティブにして Leiningen を起動する方法については、こちらで詳細を確認できます。

また、src パス (news/routes/headlines_test.clj) にテスト clojure ファイルがあり、midje が必要な場合があります。src から削除して別のディレクトリに配置するか、lein ring サーバーを呼び出すときにテスト プロファイルを含める必要がありますlein with-profile +dev,+test ring server

于 2015-01-19T13:16:19.127 に答える