为什么可以';我的Clojure文件中不需要Java库吗?

为什么可以';我的Clojure文件中不需要Java库吗?,clojure,leiningen,Clojure,Leiningen,我已经让leiningen在一个公司的人工库中找到了一个库,它似乎下载得很好,但是当我打开它时,尝试requireit,用lein run运行代码返回一个FileNotFoundException 我的项目文件如下所示: (defproject clj-test "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclips

我已经让leiningen在一个公司的人工库中找到了一个库,它似乎下载得很好,但是当我打开它时,尝试
require
it,用
lein run运行代码
返回一个
FileNotFoundException

我的项目文件如下所示:

(defproject clj-test "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"}
  :dependencies [[org.clojure/clojure "1.8.0"]
             [com.ourgroup/library "1.0.0"]]
  :repositories [["releases" {:url "https://url-to-our-repo"
                          :username "username"
                          :password "password"}]]
  :main ^:skip-aot clj-test.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})
(ns clj-test.core
  (:gen-class)
  (:require [library :as lib]))

(defn -main
  "I don't do a whole lot ... yet."
  [& args]
  (println "And now for something completely different..."))
我的单个代码文件如下所示:

(defproject clj-test "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"}
  :dependencies [[org.clojure/clojure "1.8.0"]
             [com.ourgroup/library "1.0.0"]]
  :repositories [["releases" {:url "https://url-to-our-repo"
                          :username "username"
                          :password "password"}]]
  :main ^:skip-aot clj-test.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})
(ns clj-test.core
  (:gen-class)
  (:require [library :as lib]))

(defn -main
  "I don't do a whole lot ... yet."
  [& args]
  (println "And now for something completely different..."))

您需要导入一个类。要获得类名,请查看jar内部(或Java源代码),并找到构成需要导入的完全限定类名的Java包和类


我编辑过这个。我先前的错误已经被纠正了:“您需要名称空间;您需要导入类。需要类是没有好处的”。因此,对于Java互操作,您需要导入类,就像编写Java源文件一样

这是一个JAR,其中包含一个名为“library”的包,以及该包中的几个类。非常平坦。您需要名称空间;您可以导入类。要求上课是不好的。啊哈!这就是我错过的。谢谢。