leinigen 中的类路径问题

发布于 2024-12-26 03:37:02 字数 1368 浏览 3 评论 0 原文

我一直在努力用 leiningen 构建一个独立的 .jar。尽管已经浏览了 githubAlex Ott 的网站 和一些相关问题,我不知道如何正确设置项目。在项目中执行 lein uberjar 后,它抱怨

Could not locate clojure/contrib/string__init.class or clojure/contrib/string.clj on classpath:  (collision.clj:1)

我的项目目录看起来像

.
├── classes
├── lib
│   ├── clojure-1.2.1.jar
│   └── clojure-contrib-1.1.0.jar
├── project.clj
└── src
   └── collision
        └── collision.clj

My project.clj:

(defproject collision "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.2.1"]
                 [org.clojure/clojure-contrib "1.1.0"]]
  :main collision.collision)

collision.clj:

(ns collision.collision
  (:require 
    clojure.set
    clojure.string
    [clojure.contrib.string :as st]
    [clojure.contrib.str-utils :as su]
    [clojure.contrib.combinatorics :as cmbn]))

... defns ...

(defn -main []
  (...))

(-main)

The code works on the REPL 。如何告诉 leiningen 在哪里可以找到 clojure-contrib-1.1.0.jar?我不是 Java 程序员,不太习惯类路径问题;非常感谢快速而肮脏的帮助。

I've been striving to build a standalone .jar with leiningen. Though having gone through the examples on github and Alex Ott's Website and some related questions, I couldn't figure out how to correctly set up the project. After doing lein uberjar in the project it complains

Could not locate clojure/contrib/string__init.class or clojure/contrib/string.clj on classpath:  (collision.clj:1)

My project directory looks like

.
├── classes
├── lib
│   ├── clojure-1.2.1.jar
│   └── clojure-contrib-1.1.0.jar
├── project.clj
└── src
   └── collision
        └── collision.clj

My project.clj:

(defproject collision "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.2.1"]
                 [org.clojure/clojure-contrib "1.1.0"]]
  :main collision.collision)

collision.clj:

(ns collision.collision
  (:require 
    clojure.set
    clojure.string
    [clojure.contrib.string :as st]
    [clojure.contrib.str-utils :as su]
    [clojure.contrib.combinatorics :as cmbn]))

... defns ...

(defn -main []
  (...))

(-main)

The code works on the REPL. How do I tell leiningen where to to find clojure-contrib-1.1.0.jar? I'm not a Java programmer and not really accustomed to the classpath issue; quick and dirty help is much appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云柯 2025-01-02 03:37:02

使用 [org.clojure/clojure-contrib "1.2.0"] 代替 [org.clojure/clojure-contrib "1.1.0"]

尝试在版本 1.1 中 。 0 不存在命名空间clojure.contrib.string

try using [org.clojure/clojure-contrib "1.2.0"] instead [org.clojure/clojure-contrib "1.1.0"]

in the version 1.1.0 not exist the namespace clojure.contrib.string

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文