2017-05-09 7 views
0

Leinは私の主な方法を実行していません。私は構文エラーを導入したし、それらをキャッチしません。私は本当に困っている。私はコミュニティからの援助を大変感謝しています。Leinは私のメインメソッドを実行していません

メインメソッドが正しく指定されていると思います。最初のコードサンプルはserver.cljで、mainメソッドを使用しています。次は私のproject.cljです。

(ns naac.server 
    (:require [naac.handler :refer [handler]] 
      [config.core :refer [env]] 
      [migratus.core :as migratus] 
      [ring.adapter.jetty :refer [run-jetty]] 
      [naac.db :refer [load-db!]]) 
    (:gen-class)) 

(def db-config {:store :database 
       :db (get (System/getenv) "DATABASE_URL" 
        "jdbc:postgresql://localhost:5432/jeff") 
       :migration-dir "migrations"}) 

(defn -main [& args] 
    (println args) 
    (doseq [a args] 
    (cond 
     (= a "migrate") 
     (do 
      (println "Migrate database...") 
      (migratus/migrate db-config) 
      (println "...Migration done.")) 
     (= a "rollback") 
     (do 
      (println "Rollback database...") 
      (migratus/rollback db-config) 
      (println "...Rollback done.")) 
     (= a "load") 
     (do 
      (println "Load database...") 
      (load-db!) 
      (println "...Load done.")))) 

    (if (> (count args) 0) (System/exit 0)) 

    (let [port (Integer/parseInt (or (env :port) "3000"))] 
    (run-jetty handler {:port port :join? false}))) 

マイproject.clj:

(defproject naac "0.1.0-SNAPSHOT" 
    :dependencies [[org.clojure/clojure "1.8.0"] 
       [org.clojure/clojurescript "1.9.229"] 
       [reagent "0.6.0"] 
       [re-frame "0.9.2"] 
       [compojure "1.5.0"] 
       [yogthos/config "0.8"] 
       [migratus "0.9.2"] 
       [ring "1.4.0"] 
       [com.layerware/hugsql "0.4.7"] 
       [org.postgresql/postgresql "9.4.1207"]] 

    :plugins [[lein-cljsbuild "1.1.4"] 
      [migratus-lein "0.4.1"]] 

    :min-lein-version "2.5.3" 

    :source-paths ["src"] 

    :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"] 

    :figwheel {:css-dirs ["resources/public/css"] 
      :ring-handler naac.handler/dev-handler} 

    :profiles 
    {:dev {:dependencies [[binaryage/devtools "0.8.2"]] 
     :plugins  [[lein-figwheel "0.5.9"]] 
     :resource-paths ["resources/config"]} 
    } 

    :migratus {:store :database 
      :db ~(get (System/getenv) "DATABASE_URL" 
        "jdbc:postgresql://localhost:5432/jeff") 
      :migration-dir "migrations"} 

    :cljsbuild 
    {:builds 
    [{:id   "dev" 
    :source-paths ["src/cljs"] 
    :figwheel  {:on-jsload "naac.core/mount-root"} 
    :compiler  {:main     naac.core 
        :output-to   "resources/public/js/compiled/app.js" 
        :output-dir   "resources/public/js/compiled/out" 
        :asset-path   "js/compiled/out" 
        :source-map-timestamp true 
        :preloads    [devtools.preload] 
        :external-config  {:devtools/config {:features-to-install :all}} 
        }} 

    {:id   "min" 
    :source-paths ["src/cljs"] 
    :jar true 
    :compiler  {:main   naac.core 
        :output-to  "resources/public/js/compiled/app.js" 
        :optimizations :advanced 
        :closure-defines {goog.DEBUG false} 
        :pretty-print false}} 


    ]} 

    :main naac.server 

    :aot [naac.server] 

    :uberjar-name "naac.jar" 

    :prep-tasks [["cljsbuild" "once" "min"] "compile"] 
) 

MYディレクトリ構造はthis imageで見ることができます。より深いネストレベルが必要な場合は、hereと表示されます。

私はレインを実行すると、私はこの出力を得る:

Compiling ClojureScript... 
2017-05-09 12:12:12.739:INFO::main: Logging initialized @2438ms 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
INFO: Starting migrations 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
WARNING: skipping: '.DS_Store' migrations must match pattern: ^(\d+)-([^\.]+)((?:\.[^\.]+)+)$ 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
INFO: Ending migrations 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
INFO: Starting migrations 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
WARNING: skipping: '.DS_Store' migrations must match pattern: ^(\d+)-([^\.]+)((?:\.[^\.]+)+)$ 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
INFO: Ending migrations 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
INFO: Starting migrations 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
WARNING: skipping: '.DS_Store' migrations must match pattern: ^(\d+)-([^\.]+)((?:\.[^\.]+)+)$ 
May 09, 2017 12:12:12 PM clojure.tools.logging$eval18$fn__22 invoke 
INFO: Ending migrations 
+1

の値として["src/clj"]を使用しますか? –

+0

ありがとうございました!ここに木の構造があります。 Yikes、私はコメントにそれを入力することはできません。元の投稿を更新できるかどうか確認してみましょう。 – Jeff

+0

私はディレクトリ構造のイメージにリンクしました。 – Jeff

答えて

1

問題は、あなたのproject.clj:source-pathsです。 Leinはあなたの名前空間フォルダがソースパスに直接存在することを期待しています。

あなたはsrc(例えばsrc/naac/server.clj)に直接ごnaacフォルダを移動したり、何が `レインrun`出力ファイルのパスであり、どのような:source-paths

関連する問題