0

次の非常に単純な Clojure テスト ファイルで lein を使用して uberjar を作成しようとすると、エラーが発生します。

Compiling korma-test.core
Exception in thread "main" java.lang.Exception: 
lib names inside prefix lists must not contain periods, compiling:(core.clj:1:1)

理由がわかりません。sqlkorma.comの docs セクション(use 'korma.db)から入手し、require ステートメントも試しました (ここの例には記載されていません)。

プロジェクト.clj

(defproject korma-test "0.1.0-SNAPSHOT"
  :description "korma db test"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [korma "0.3.0-RC5"]]
   :main korma-test.core)

core.clj (簡略化)

(ns korma-test.core
  (:gen-class)
  (use 'korma.db)
  (require '[clojure.string :as str])
  (:import java.util.Date)
)

(defn -main 
  [& args]
  (let [opts (parse-opts args)
        start-time (str (Date.))]))
4

1 に答える 1

5

マクロは、関数のns代わりにキーワードを使用し、引用符で囲まれた引数を取ります。

(ns korma-test.core
  ...
  (:use korma.db)
  (:require [clojure.string :as str])
  ...)

ここに素晴らしい記事があります: http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html

于 2014-03-05T19:35:52.467 に答える