ошибка hiccup 1.0.0-beta1 - PullRequest
       45

ошибка hiccup 1.0.0-beta1

9 голосов
/ 05 марта 2012

Я создаю compojure проект, используя hiccup-1.0.0-beta1.Я получаю следующую трассировку стека при запуске lein ring server-headless:

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)

, что меня смущает, потому что файл page_helpers.clj больше не существует при икоте:

$ 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
$ 

Такжемой код даже не пытается ввести page_helpers.clj:

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

1 Ответ

4 голосов
/ 09 марта 2012

У меня такая же проблема.

Я думаю, что вы используете dev-зависимость lein-ring . Если вы загляните в папку вашего проекта / lib / dev, то увидите там hiccup 0.3.X jar . Это потому, что файл ring-devel jar file использует старый сбой. Я думаю, что причина проблемы заключается в конфликтах между этими файлами. Но я еще не нашел способ обойти это.

Однако, если вы используете lein ring uberwar для создания развертываемого файла, этот файл будет отлично работать в другом контейнере (например, tomcat).

...