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
의 값으로
["src/clj"]
을 사용할 수 있습니다? –도움 주셔서 감사합니다. 여기 트리 구조가 있습니다. Yikes, 나는 코멘트에 그것을 타이핑 할 수 없다. 내 원래 게시물을 업데이트 할 수 있는지 보겠습니다. – Jeff
디렉토리 구조의 이미지에 링크되었습니다. – Jeff