2

最终,我希望以下工作

(ns grizzler.core
  (:import (com.sun.grizzly.http.embed GrizzlyWebServer)
           (com.sun.grizzly.tcp.http11 GrizzlyAdapter)))

但是,我不知道该怎么做。我是否将东西添加到我的类路径中?我在哪里修改我的类路径,在我的 .bashrc 中还是在 clojure 中?

我在http://grizzly.java.net/找到了 grizzly 项目。但是我要下载什么?我如何安装东西?我真的不知道该怎么办。

相关:使用带有 clojure 的 com.jcraft.jsch 之类的 3rd 方 java 库- 除了它对我来说不够详细:(

编辑:我还在 project.clj 中尝试了以下操作,但没有成功:

(defproject grizzler "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [com.sun.grizzly.http.core "2.1.10"]
                 [com.sun.grizzly.http.embed "2.1.10"]
                 [com.sun.grizzly.tcp.http11 "2.1.10"]])

此外,我尝试了 net.java.grizzly.http.core ,但也没有用。

谢谢!

4

1 回答 1

4

目前关于“正确”的做法的共识基本上是“使用 leiningen”。Leiningen 基本上是 maven 的包装器,并使用 maven 存储库。大多数情况下,您可以在某个 maven 存储库中找到所需的代码,但最终您会遇到需要使用 jar 文件的情况。在这种情况下,您将 jar 文件安装到本地 maven 存储库中,该存储库位于您的主目录中,并包含构建所有项目所需的所有 jar 的副本。如果您依赖的 jar 可从中央存储库获得,则此本地存储库充当缓存,因此您不必每次都下载它们,但如果无法自动下载,您可以手动将 jar 放入本地存储库他们。

我建议先看这个视频

  • 仔细检查您需要的库是否已经可用
  • 下载你想要的jar
  • 下载莱宁根
  • lein new nameOfYourProject
  • 将其添加到您的 leiningen 项目project.clj
  • lein deps
    • 这将打印将 jar 文件安装到本地 maven 存储库的完整命令
    • 运行此命令(由 leiningen 打印),您的 jar 文件应复制到 ~/.m2/... 下的正确位置
    • 再次运行lein deps以确保它找到它
  • 在 .clj 文件中添加一条import语句(如上所示)
  • 成功!

调试此过程可能非常具体,但#clojure 的居民通常很有帮助。

于 2012-06-13T23:14:24.550 回答