Не удалось найти clojure/data/xml__init.class в проекте luminus.

В моем проекте luminus я добавил это:

[org.clojure/data.zip "0.1.2"]

в список зависимостей, но это все еще вызывает исключение:

(ns myapp.rss
  (:use [clojure.data.xml :as xml :only [emit]]))

который:

Could not locate clojure/data/xml__init.class or clojure/data/xml.clj on classpath

person Community    schedule 18.08.2016    source источник


Ответы (1)


вот рабочий пример для сравнения:

проект.clj:

(defproject hello "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :main hello.core
  :dependencies [[org.clojure/clojure "1.7.0"]                 
                 [org.clojure/data.xml "0.0.8"]
                 [org.clojure/data.zip "0.1.2"]
                 [clj-http "2.2.0"]])

из core.clj:

(ns hello.core
  (:require [clj-http.client :as http-client]
            [clojure.zip :as zip]
            [clojure.xml :as xml]
            [clojure.data.xml :as xml-data :refer [emit]]
            [clojure.data.zip.xml :as xml-z]))

(use ... :only) устарел по шаблону require :refer.

И вот некоторые общие вещи, которые нужно проверить:

  • вы фактически извлекли зависимости с момента их добавления в файл project.clj

  • Попробуйте запустить lein deps из командной строки, чтобы убедиться, что выборка зависимостей работает.

  • перезапустить сидр (если в emacs)
  • попробуй с lein repl
  • если ничего из этого не работает, загляните в ~/.m2/repository и убедитесь, что там есть файлы классов
  • запустите ps -ef (если в Linux), чтобы посмотреть команду, используемую для запуска java, и убедиться, что путь к классам содержит вашу зависимость.
person Arthur Ulfeldt    schedule 18.08.2016