2012-03-09 2 views
3

나는 clojure에서 토이 프로젝트를 시작하고 있습니다. 나는 그것을 시도하기로 결정했다. 나는 leiningen과 clojure를 설치했고, 나는 lein 설치를하고 emacs를 통해 작업을 관리했다. 비록, 나는 내 프로젝트의 종속성으로 선명도를 사용할 수 없습니다입니다 :종속성으로 선명도를 사용할 수 없습니다.

;;;project.clj 
(defproject sms-client "1.0.0-SNAPSHOT" 
    :description "This is meant to be an sms client" 
    :dependencies [[org.clojure/clojure "1.2.1"] 
      [clarity "0.5.5"]]) 

;;;src/sms_client/core.clj 
(ns sms-client.core 
    (:require [clarity.form :as form] 
      [clarity.dev :as dev])) 

(def the-form 
(form/form 
    :login "" 
    :password "")) 

(dev/show-comp the-form) 

이 함께 불고있다 :

clojure.lang.RT.keyword(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; 
    [Thrown class java.lang.NoSuchMethodError] 

Restarts: 
0: [QUIT] Quit to the SLIME top level 

Backtrace: 
    0: clarity.component__init.__init0(Unknown Source) 
    1: clarity.component__init.<clinit>(Unknown Source) 
    2: java.lang.Class.forName0(Native Method) 
    3: java.lang.Class.forName(Class.java:264) 
    4: clojure.lang.RT.loadClassForName(RT.java:1578) 
    5: clojure.lang.RT.load(RT.java:399) 
    6: clojure.lang.RT.load(RT.java:381) 
    7: clojure.core$load$fn__4519.invoke(core.clj:4915) 
    8: clojure.core$load.doInvoke(core.clj:4914) 
    9: clojure.lang.RestFn.invoke(RestFn.java:408) 
10: clojure.core$load_one.invoke(core.clj:4729) 
11: clojure.core$load_lib.doInvoke(core.clj:4766) 
12: clojure.lang.RestFn.applyTo(RestFn.java:142) 
13: clojure.core$apply.invoke(core.clj:542) 
14: clojure.core$load_libs.doInvoke(core.clj:4800) 
15: clojure.lang.RestFn.applyTo(RestFn.java:137) 
16: clojure.core$apply.invoke(core.clj:542) 
17: clojure.core$require.doInvoke(core.clj:4881) 
18: clojure.lang.RestFn.invoke(RestFn.java:619) 
19: clarity.form$eval1651$loading__4414__auto____1652.invoke(form.clj:1) 
20: clarity.form$eval1651.invoke(form.clj:1) 
21: clojure.lang.Compiler.eval(Compiler.java:5424) 
22: clojure.lang.Compiler.eval(Compiler.java:5415) 
23: clojure.lang.Compiler.load(Compiler.java:5857) 
24: clojure.lang.RT.loadResourceScript(RT.java:340) 
25: clojure.lang.RT.loadResourceScript(RT.java:331) 
26: clojure.lang.RT.load(RT.java:409) 
27: clojure.lang.RT.load(RT.java:381) 
28: clojure.core$load$fn__4519.invoke(core.clj:4915) 
29: clojure.core$load.doInvoke(core.clj:4914) 
30: clojure.lang.RestFn.invoke(RestFn.java:408) 
31: clojure.core$load_one.invoke(core.clj:4729) 
32: clojure.core$load_lib.doInvoke(core.clj:4766) 
33: clojure.lang.RestFn.applyTo(RestFn.java:142) 
34: clojure.core$apply.invoke(core.clj:542) 
35: clojure.core$load_libs.doInvoke(core.clj:4800) 
36: clojure.lang.RestFn.applyTo(RestFn.java:137) 
37: clojure.core$apply.invoke(core.clj:542) 
38: clojure.core$require.doInvoke(core.clj:4881) 
39: clojure.lang.RestFn.invoke(RestFn.java:421) 
40: sms_client.core$eval1645$loading__4414__auto____1646.invoke(NO_SOURCE_FILE:1) 
41: sms_client.core$eval1645.invoke(NO_SOURCE_FILE:1) 
42: clojure.lang.Compiler.eval(Compiler.java:5424) 
43: clojure.lang.Compiler.eval(Compiler.java:5415) 
44: clojure.lang.Compiler.eval(Compiler.java:5391) 
45: clojure.core$eval.invoke(core.clj:2382) 
46: swank.commands.basic$eval_region.invoke(basic.clj:47) 
47: swank.commands.basic$eval_region.invoke(basic.clj:37) 
48: swank.commands.basic$eval849$listener_eval__850.invoke(basic.clj:71) 
49: clojure.lang.Var.invoke(Var.java:365) 
50: user$eval1641.invoke(NO_SOURCE_FILE) 
51: clojure.lang.Compiler.eval(Compiler.java:5424) 
52: clojure.lang.Compiler.eval(Compiler.java:5391) 
53: clojure.core$eval.invoke(core.clj:2382) 
54: swank.core$eval_in_emacs_package.invoke(core.clj:92) 
55: swank.core$eval_for_emacs.invoke(core.clj:239) 
56: clojure.lang.Var.invoke(Var.java:373) 
57: clojure.lang.AFn.applyToHelper(AFn.java:167) 
58: clojure.lang.Var.applyTo(Var.java:482) 
59: clojure.core$apply.invoke(core.clj:540) 
60: swank.core$eval_from_control.invoke(core.clj:99) 
61: swank.core$eval_loop.invoke(core.clj:104) 
62: swank.core$spawn_repl_thread$fn__617$fn__618.invoke(core.clj:309) 
63: clojure.lang.AFn.applyToHelper(AFn.java:159) 
64: clojure.lang.AFn.applyTo(AFn.java:151) 
65: clojure.core$apply.invoke(core.clj:540) 
66: swank.core$spawn_repl_thread$fn__617.doInvoke(core.clj:306) 
67: clojure.lang.RestFn.invoke(RestFn.java:397) 
68: clojure.lang.AFn.run(AFn.java:24) 
69: java.lang.Thread.run(Thread.java:679) 

내가 잘못 뭐하는 거지?

선명도 "0.5.5"에

답변

4

의 폭파 된 require :

user=> (require 'clarity.form)   
java.lang.NoSuchMethodError: clojure.lang.RT.keyword(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; (form.clj:1) 

선명도 "0.5.5"Clojure의 1.2.1와 함께 작동하지 보이지만 Clojure의 1.3.0
와 함께 작동합니까 투명도 "0.5.3"으로 작업하고 clojure 1.2.1을 유지하거나 선명도 0.5.5로 유지하고 clojure 1.3.0으로 전환 할 수 있습니다.

개인적으로는 최신 버전을 사용하는 것이 좋습니다.

4

이것은 라이브러리 항아리가 Clojure 1.2와 호환되지 않게 만드는 AOT 컴파일입니다. 1.2에 대한 지원을 중단 할 뜻이 아니었기 때문에이 문제를 해결하고 Clarity 0.5.6을 릴리스했습니다. 의견을 보내 주셔서 감사합니다!

관련 문제