0

我正在阅读 Liberator 的入门指南。一开始,当尝试评估上述命名空间声明时

(ns restserver.core
  (:require [liberator.core :refer [resource defresource]]
            [ring.middleware.params :refer [wrap-params]]
            [compojure.core :refer [defroutes ANY]]))

我明白了

;!!CompilerException java.lang.IllegalStateException: with-base-url already refers to: #'hiccup.core/with-base-url in namespace: hiccup.page, compiling:(hiccup/page.clj:1:1)

中声明的依赖项列表project.clj如下所示:

  :dependencies [[org.clojure/clojure "1.7.0"]
                 [liberator "0.13"]
                 [compojure "1.4.0"]
                 [org.apache.storm/storm-core "0.9.5"]
                 [org.clojure/data.json "0.2.6"]
                 [ring "1.4.0"]]

似乎storm-core依赖关系导致了这个问题,因为当我删除它时,问题就消失了。我该如何解决这个问题?(除了将 Storm 相关的代码移动到单独的库之外)?

更新: Storm 项目 JIRA 上有一个问题正是针对这个问题发布的。

4

1 回答 1

0

尝试通过hiccupstorm-core上提供排除项来排除project.clj

:dependencies [[org.clojure/clojure "1.7.0"] [liberator "0.13"] [compojure "1.4.0"] [org.apache.storm/storm-core "0.9.5" :exclusions [hiccup]] [org.clojure/data.json "0.2.6"] [ring "1.4.0"]]

于 2015-09-03T18:09:34.553 回答