当前位置: 首页 > 知识库问答 >
问题:

无法在clojure中加载http-kit库

欧阳哲
2023-03-14
(require 'http-kit)
;; start concurrent requests, get promise, half the waiting time

    (let [response1 (http-kit/get "https://clojure.org")
          response2 (http-kit/get "http://clojure.org/")]
      ;; Handle responses one-by-one, blocking as necessary
      ;; Other keys :headers :body :error :opts
      (println "response1's body: " (:body @response1))
      (println "response2's status: " (:status @response2)))

CompilerException java.io.FileNotFoundException: Could not locate http_kit__init.class or http_kit.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name., compiling:(restful_clojure\test.clj:1:1) 


    (println (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))

(#object[java.net.URL 0x50b65482 file:/E:/workspace/restful-clojure/test/] #object[java.net.URL 0x5f5d7651 file:/E:/workspace/restful-clojure/src/] #object[java.net.URL 0x2878624e file:/E:/workspace/restful-clojure/dev-resources] #object[java.net.URL 0xe56e16d file:/E:/workspace/restful-clojure/resources/] #object[java.net.URL 0x6c26a661 file:/E:/workspace/restful-clojure/target/classes/] #object[java.net.URL 0x58fdaa4a file:/C:/Users/Maciek/.m2/repository/clojure-complete/clojure-complete/0.2.3/clojure-complete-0.2.3.jar] #object[java.net.URL 0x337cc909 file:/C:/Users/Maciek/.m2/repository/http-kit/http-kit/2.1.19/http-kit-2.1.19.jar] #object[java.net.URL 0xa181b82 file:/C:/Users/Maciek/.m2/repository/org/clojure/clojure/1.8.0/clojure-1.8.0.jar] #object[java.net.URL 0x53d4a10e file:/C:/Users/Maciek/.m2/repository/ccw/ccw.server/0.2.0/ccw.server-0.2.0.jar] #object[java.net.URL 0x664eeec4 file:/C:/Users/Maciek/.m2/repository/org/clojure/tools.nrepl/0.2.10/tools.nrepl-0.2.10.jar] #object[java.net.URL 0x33af4785 
file:/C:/Users/Maciek/.m2/repository/org/tcrawley/dynapath/0.2.3/dynapath-0.2.3.jar] #object[java.net.URL 0x79a18e79 file:/C:/Users/Maciek/.m2/repository/cider/cider-nrepl/0.9.0/cider-nrepl-0.9.0.jar] #object[java.net.URL 0xf0b9c92 file:/C:/Program%20Files/Java/jdk1.8.0_51/src.zip] #object[java.net.URL 0x1ea27b79 file:/C:/Program%20Files/Java/jdk1.8.0_51/lib/tools.jar])
 #object[java.net.URL 0x337cc909 file:/C:/Users/Maciek/.m2/repository/http-kit/http-kit/2.1.19/http-kit-2.1.19.jar]

奇怪的是,它在上次系统重启之前工作得很好。

这是我的项目。clj


    ;(defproject restful-clojure "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.6.0"]])
    ; project.clj
    (defproject restful-clojure "0.1.0-SNAPSHOT"
      ; ...project settings...

      ; The :dependencies key maps to a vector containing all dependencies
      ; necessary for our project. The dependency on Clojure itself should
      ; have already been added by Leiningen. We will add Ring, the Jetty
      ; adapter (so we can start up a web server to serve our application),
      ; and Compojure, which we will use later on in this tutorial.
      :dependencies [[org.clojure/clojure "1.8.0"]
                     [http-kit "2.1.19"]])

共有1个答案

宁欣怿
2023-03-14

这不完全是问题的答案,但它是相关的,我在试图解决我的错误时发现了这个问题,所以我想这可能会帮助其他人。

我得到了与操作相同的错误,因为我忘记添加

[http-kit "2.2.0"]

project.clj中的:dependencies[]内部。

 类似资料:
  • 我正在尝试实现下面所示的基本JavaFX示例:http://docs.oracle.com/JavaFX/2/get_started/fxml_tutorial.htm。我能够让基本的东西工作(以编程方式创建gui)和使用css,但我遇到了FXMLLoader的问题。 java版本是这样的: 我不是Java专家,但我不认为FXMLLoader对象是实例化的IE。没有语句。那么是从哪里来的呢? nu

  • 我有一个使用服务器的小型WebSocket应用程序,我对自己感觉很好。现在我想添加不同的“房间”(列表应该是动态的)到我的应用程序,但我很难找到任何文档或示例项目。我并不害怕旋转我自己的解决方案,但依靠别人的经验是很好的。有人知道类似实现的例子吗? 2)我可以在每次打开新房间时建立一个新的套接字endpoint,并将新的URL发送回前端(或者如果房间已经打开了,则发送现有的URL),然后丢弃旧的套

  • Clojure/Leiningen/Eclipse(和Java)newby。我试图让Eclipse加载Clojure/Leiningen项目,但在搜索Lein插件解决方案时,我看到了令人困惑/矛盾的结果。 Eclipse IDE for Java开发者版本:Juno Service Release 2构建id:20130225-0426(Windows 8) 我在中有以下用户配置文件。lein\p

  • 我有一个小Clojure应用程序,它使用http工具包向服务器发送一些http post请求。我希望通过代理P路由https POST请求,即,我希望流量像应用程序一样- (这是因为目标主机X基于IP限制访问) 这可能吗? 此外,该应用程序运行在ubuntu服务器上,是否有可能通过系统级配置使http工具包使用代理服务器?但我更喜欢其他过程不受影响。

  • 高性能,高并发Clojure HTTP Server & Client。首页:http://http-kit.org  HTTP Server: 高性能, 在普通机器上,每秒处理数万个请求 高并发支持。采用异步IO + 线程池的方式,在普通机器上,数十万并发 支持HTTP长连和WebSocket HTTP Client: keep-alive:极端情况下,keep-alive可提高一倍性能 异步IO + 线程池 API 友好