1

在我的 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
4

1 回答 1

2

这是一个可以与之比较的工作示例:

项目.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 的命令并确保类路径包含您的依赖项。
于 2016-08-18T23:07:55.227 回答