2016-06-30 4 views
0

compojure-app를 작성하려고하는데 방금 selmer 종속성을 포함 시켰습니다. 나는이 lein 프로젝트compojure-app에 selmer를 포함하면 서버를 시작하는 동안 오류가 발생합니다.

이의 종속성으로 [셀머 "1.0.7"을]을 사용하여 오전

lein ring server-headless 

을하려고 할 때 예외를 얻고 것은 내가보고 오전 예외입니다.

Exception in thread "main" java.lang.IllegalAccessError: tried to access method clojure.lang.RT.classForNameNonLoading(Ljava/lang/String;)Ljava/lang/Class; from class selmer.node$fn__58, compiling:(selmer/tags.clj:1:1) 
    at clojure.lang.Compiler.load(Compiler.java:7142) 
    at clojure.lang.RT.loadResourceScript(RT.java:370) 
    at clojure.lang.RT.loadResourceScript(RT.java:361) 
    at clojure.lang.RT.load(RT.java:440) 
    at clojure.lang.RT.load(RT.java:411) 
    at clojure.core$load$fn__5066.invoke(core.clj:5641) 
    at clojure.core$load.doInvoke(core.clj:5640) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5446) 
    at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) 
    at clojure.core$load_lib.doInvoke(core.clj:5485) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$load_libs.doInvoke(core.clj:5524) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:628) 
    at clojure.core$use.doInvoke(core.clj:5618) 
    at clojure.lang.RestFn.invoke(RestFn.java:482) 
    at selmer.validator$eval8785$loading__4958__auto____8786.invoke(validator.clj:1) 
    at selmer.validator$eval8785.invoke(validator.clj:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6703) 
    at clojure.lang.Compiler.eval(Compiler.java:6692) 
    at clojure.lang.Compiler.load(Compiler.java:7130) 
    at clojure.lang.RT.loadResourceScript(RT.java:370) 
    at clojure.lang.RT.loadResourceScript(RT.java:361) 
    at clojure.lang.RT.load(RT.java:440) 
    at clojure.lang.RT.load(RT.java:411) 
    at clojure.core$load$fn__5066.invoke(core.clj:5641) 
    at clojure.core$load.doInvoke(core.clj:5640) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5446) 
    at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) 
    at clojure.core$load_lib.doInvoke(core.clj:5485) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$load_libs.doInvoke(core.clj:5524) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$require.doInvoke(core.clj:5607) 
    at clojure.lang.RestFn.invoke(RestFn.java:457) 
    at selmer.template_parser$eval8715$loading__4958__auto____8716.invoke(template_parser.clj:1) 
    at selmer.template_parser$eval8715.invoke(template_parser.clj:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6703) 
    at clojure.lang.Compiler.eval(Compiler.java:6692) 
    at clojure.lang.Compiler.load(Compiler.java:7130) 
    at clojure.lang.RT.loadResourceScript(RT.java:370) 
    at clojure.lang.RT.loadResourceScript(RT.java:361) 
    at clojure.lang.RT.load(RT.java:440) 
    at clojure.lang.RT.load(RT.java:411) 
    at clojure.core$load$fn__5066.invoke(core.clj:5641) 
    at clojure.core$load.doInvoke(core.clj:5640) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5446) 
    at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) 
    at clojure.core$load_lib.doInvoke(core.clj:5485) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$load_libs.doInvoke(core.clj:5524) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$require.doInvoke(core.clj:5607) 
    at clojure.lang.RestFn.invoke(RestFn.java:551) 
    at selmer.parser$eval8709$loading__4958__auto____8710.invoke(parser.clj:1) 
    at selmer.parser$eval8709.invoke(parser.clj:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6703) 
    at clojure.lang.Compiler.eval(Compiler.java:6692) 
    at clojure.lang.Compiler.load(Compiler.java:7130) 
    at clojure.lang.RT.loadResourceScript(RT.java:370) 
    at clojure.lang.RT.loadResourceScript(RT.java:361) 
    at clojure.lang.RT.load(RT.java:440) 
    at clojure.lang.RT.load(RT.java:411) 
    at clojure.core$load$fn__5066.invoke(core.clj:5641) 
    at clojure.core$load.doInvoke(core.clj:5640) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5446) 
    at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) 
    at clojure.core$load_lib.doInvoke(core.clj:5485) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$load_libs.doInvoke(core.clj:5524) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$require.doInvoke(core.clj:5607) 
    at clojure.lang.RestFn.invoke(RestFn.java:619) 
    at keg_test_utils.routes.home$eval3662$loading__4958__auto____3663.invoke(home.clj:1) 
    at keg_test_utils.routes.home$eval3662.invoke(home.clj:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6703) 
    at clojure.lang.Compiler.eval(Compiler.java:6692) 
    at clojure.lang.Compiler.load(Compiler.java:7130) 
    at clojure.lang.RT.loadResourceScript(RT.java:370) 
    at clojure.lang.RT.loadResourceScript(RT.java:361) 
    at clojure.lang.RT.load(RT.java:440) 
    at clojure.lang.RT.load(RT.java:411) 
    at clojure.core$load$fn__5066.invoke(core.clj:5641) 
    at clojure.core$load.doInvoke(core.clj:5640) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5446) 
    at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) 
    at clojure.core$load_lib.doInvoke(core.clj:5485) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$load_libs.doInvoke(core.clj:5524) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$require.doInvoke(core.clj:5607) 
    at clojure.lang.RestFn.invoke(RestFn.java:551) 
    at keg_test_utils.handler$eval2161$loading__4958__auto____2162.invoke(handler.clj:1) 
    at keg_test_utils.handler$eval2161.invoke(handler.clj:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6703) 
    at clojure.lang.Compiler.eval(Compiler.java:6692) 
    at clojure.lang.Compiler.load(Compiler.java:7130) 
    at clojure.lang.RT.loadResourceScript(RT.java:370) 
    at clojure.lang.RT.loadResourceScript(RT.java:361) 
    at clojure.lang.RT.load(RT.java:440) 
    at clojure.lang.RT.load(RT.java:411) 
    at clojure.core$load$fn__5066.invoke(core.clj:5641) 
    at clojure.core$load.doInvoke(core.clj:5640) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5446) 
    at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) 
    at clojure.core$load_lib.doInvoke(core.clj:5485) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$load_libs.doInvoke(core.clj:5524) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$require.doInvoke(core.clj:5607) 
    at clojure.lang.RestFn.invoke(RestFn.java:457) 
    at user$eval5.invoke(form-init4401683715285844566.clj:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6703) 
    at clojure.lang.Compiler.eval(Compiler.java:6692) 
    at clojure.lang.Compiler.load(Compiler.java:7130) 
    at clojure.lang.Compiler.loadFile(Compiler.java:7086) 
    at clojure.main$load_script.invoke(main.clj:274) 
    at clojure.main$init_opt.invoke(main.clj:279) 
    at clojure.main$initialize.invoke(main.clj:307) 
    at clojure.main$null_opt.invoke(main.clj:342) 
    at clojure.main$main.doInvoke(main.clj:420) 
    at clojure.lang.RestFn.invoke(RestFn.java:421) 
    at clojure.lang.Var.invoke(Var.java:383) 
    at clojure.lang.AFn.applyToHelper(AFn.java:156) 
    at clojure.lang.Var.applyTo(Var.java:700) 
    at clojure.main.main(main.java:37) 
Caused by: java.lang.IllegalAccessError: tried to access method clojure.lang.RT.classForNameNonLoading(Ljava/lang/String;)Ljava/lang/Class; from class selmer.node$fn__58 
    at selmer.node$fn__58.invoke(node.clj:16) 
    at selmer.node__init.load(Unknown Source) 
    at selmer.node__init.<clinit>(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at clojure.lang.RT.loadClassForName(RT.java:2093) 
    at clojure.lang.RT.load(RT.java:430) 
    at clojure.lang.RT.load(RT.java:411) 
    at clojure.core$load$fn__5066.invoke(core.clj:5641) 
    at clojure.core$load.doInvoke(core.clj:5640) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5446) 
    at clojure.core$load_lib$fn__5015.invoke(core.clj:5486) 
    at clojure.core$load_lib.doInvoke(core.clj:5485) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$load_libs.doInvoke(core.clj:5524) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:626) 
    at clojure.core$require.doInvoke(core.clj:5607) 
    at clojure.lang.RestFn.invoke(RestFn.java:482) 
    at selmer.tags$eval8791$loading__4958__auto____8792.invoke(tags.clj:1) 
    at selmer.tags$eval8791.invoke(tags.clj:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6703) 
    at clojure.lang.Compiler.eval(Compiler.java:6692) 
    at clojure.lang.Compiler.load(Compiler.java:7130) 
    ... 142 more 
Subprocess failed 

이 그 버전 중 일부는 크게 구식

:dependencies [ 
        [org.clojure/clojure "1.6.0"] 
        [compojure "1.1.6"] 
        [hiccup "1.0.5"] 
        [ring-server "0.3.1"] 
        [clj-http "2.2.0"] 
        [org.clojure/java.jdbc "0.6.1"] 
        [com.oracle/ojdbc6 "11.2.0.4"] 
        [org.clojure/data.json "0.2.6"] 
        [cheshire "5.6.3"] 
        [commons-lang/commons-lang "2.6"] 
        [honeysql "0.7.0"] 
        [selmer "1.0.7"] 
       ] 

답변

0

내 종속성, 그래서 나는 다음과 같은 project.clj 사용하는 것이 좋습니다 것입니다 : A를 다음

(defproject selmering "0.1.0-SNAPSHOT" 
:ring {:handler selmering.core/app} 
:plugins [[lein-ring "0.9.7"]] 
    :dependencies [ 
    ; [org.clojure/clojure "1.6.0"] 
        [org.clojure/clojure "1.8.0"] 
        [compojure "1.5.1"] 
        [ring/ring-defaults "0.1.5"] 

        [hiccup "1.0.5"] 
        [ring "1.5.0"] 
        [clj-http "2.2.0"] 
        [org.clojure/java.jdbc "0.6.1"] 
        [com.oracle/ojdbc6 "11.2.0.4"] 
        [org.clojure/data.json "0.2.6"] 
        [cheshire "5.6.3"] 
        [commons-lang/commons-lang "2.6"] 
        [honeysql "0.7.0"] 
        [selmer "1.0.7"] 
    ]) 

과 링 핸들러 :

(ns selmering.core 
    (:require [selmer.parser :refer :all]) 
     (:require [compojure.core :refer :all] 
      [compojure.route :as route] 
      [ring.middleware.defaults :refer [wrap-defaults site-defaults]])) 

(defroutes app-routes 
    (GET "/" [] (render-file "index.html" {:name "Nico"})) 
    (route/not-found "Not Found")) 

(def app 
    (wrap-defaults app-routes site-defaults)) 

모두 괜찮을 것입니다.

관련 문제