2012-03-05 18 views
9

Tôi đang tạo dự án tương tự bằng hiccup-1.0.0-beta1. Tôi nhận được vết đống sau khi tôi chạy lein ring server-headless:lỗi hiccup 1.0.0-beta1

Caused by: java.lang.IllegalAccessError: defelem does not exist 
at clojure.core$refer.doInvoke(core.clj:3287) 
at clojure.lang.RestFn.applyTo(RestFn.java:139) 
at clojure.core$apply.invoke(core.clj:542) 
at clojure.core$load_lib.doInvoke(core.clj:4781) 
at clojure.lang.RestFn.applyTo(RestFn.java:142) 
at clojure.core$apply.invoke(core.clj:542) 
at clojure.core$load_libs.doInvoke(core.clj:4800) 
at clojure.lang.RestFn.applyTo(RestFn.java:137) 
at clojure.core$apply.invoke(core.clj:544) 
at clojure.core$use.doInvoke(core.clj:4892) 
at clojure.lang.RestFn.invoke(RestFn.java:408) 
at hiccup.page_helpers$eval17$loading__4414__auto____18.invoke(page_helpers.clj:1) 
at hiccup.page_helpers$eval17.invoke(page_helpers.clj:1) 
at clojure.lang.Compiler.eval(Compiler.java:5424) 

Đó là khó hiểu với tôi, bởi vì các tập tin page_helpers.clj không còn tồn tại trong nấc cục:

$ jar tf lib/hiccup-1.0.0-beta1.jar 
META-INF/MANIFEST.MF 
META-INF/maven/hiccup/hiccup/pom.xml 
META-INF/maven/hiccup/hiccup/pom.properties 
project.clj 
hiccup/compiler.clj 
hiccup/core.clj 
hiccup/def.clj 
hiccup/element.clj 
hiccup/form.clj 
hiccup/middleware.clj 
hiccup/page.clj 
hiccup/util.clj 
$ 

Ngoài ra, mã của tôi thậm chí không cố gắng để đưa vào page_helpers.clj:

(ns views.layout 
    (:require [app-config :as config]) 
    (:use hiccup.core) 
    (:use hiccup.page) 
    (:use hiccup.element)) 
+0

hoàn nguyên về 0.3.8 và (sau khi sửa các câu lệnh sử dụng), mã hoạt động tốt ... – Kevin

Trả lời

4

Tôi đang gặp sự cố tương tự.

Tôi nghĩ bạn đang sử dụng phụ thuộc vào dev lein-ring. Nếu bạn nhìn vào thư mục dự án/lib/dev của mình, bạn sẽ thấy hiccup 0.3.X jar tại đó. Đó là vì tập tin ring-devel jar tập tin sử dụng trục trặc cũ. Tôi đoán nguyên nhân của vấn đề là phải làm gì với các xung đột giữa các tệp này. Nhưng tôi đã không tìm ra cách để giải quyết vấn đề này.

Tuy nhiên, nếu bạn sử dụng vòng lein uberwar để tạo tệp có thể triển khai, tệp đó hoạt động trong vùng chứa khác (ví dụ: tomcat) tốt.

+1

in maven Tôi có thể thực hiện các loại trừ phụ thuộc ... Tôi chưa phải là chuyên gia nhưng tôi tự hỏi liệu có cách nào để loại trừ nấc cục khỏi vòng lein? Nhưng bắt thú vị, điều đó khiến tôi bận tâm ... – Kevin

+0

Đây là cách bạn loại trừ các phụ thuộc: : dev-dependencies [[lein-ring "0.5.4": loại trừ [hiccup]]] Nhưng tôi vẫn đang nhận được lỗi – Sathish

+1

Theo vấn đề github này https://github.com/weavejester/hiccup/issues/41#issuecomment-4423262, Điều này sẽ chỉ được khắc phục trong Vòng 1.1 – Sathish

Các vấn đề liên quan