Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure项目布局和相关导入_Clojure - Fatal编程技术网

Clojure项目布局和相关导入

Clojure项目布局和相关导入,clojure,Clojure,我在开始我的第一个clojure项目时遇到了困难。我已经找到了大量的教程和问题的答案,但这些似乎都不能回答我的问题 我使用Leiningen创建了一个空白项目。这个例子解释了我的问题: project.clj: (defproject clojurenet "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse P

我在开始我的第一个clojure项目时遇到了困难。我已经找到了大量的教程和问题的答案,但这些似乎都不能回答我的问题

我使用Leiningen创建了一个空白项目。这个例子解释了我的问题:

project.clj:

(defproject clojurenet "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"]
                  [net.mikera/core.matrix "0.34.0"]
                  [org.clojure/math.numeric-tower "0.0.1"]]
  :main ^:skip-aot clojurenet.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})
(ns clojurenet.core)
  (:require clojurenet.hello)
  (:gen-class))

(defn -main
  [& args]
  (clojurenet.hello/helloworld)
(ns clojurenet.hello)

(defn helloworld []
    (println "Hello World!"))
src/clojurenet/core.clj:

(defproject clojurenet "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"]
                  [net.mikera/core.matrix "0.34.0"]
                  [org.clojure/math.numeric-tower "0.0.1"]]
  :main ^:skip-aot clojurenet.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})
(ns clojurenet.core)
  (:require clojurenet.hello)
  (:gen-class))

(defn -main
  [& args]
  (clojurenet.hello/helloworld)
(ns clojurenet.hello)

(defn helloworld []
    (println "Hello World!"))
src/clojurenet/hello.clj:

(defproject clojurenet "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"]
                  [net.mikera/core.matrix "0.34.0"]
                  [org.clojure/math.numeric-tower "0.0.1"]]
  :main ^:skip-aot clojurenet.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})
(ns clojurenet.core)
  (:require clojurenet.hello)
  (:gen-class))

(defn -main
  [& args]
  (clojurenet.hello/helloworld)
(ns clojurenet.hello)

(defn helloworld []
    (println "Hello World!"))
当我运行
lein run
时,我在线程“main”java.lang.ClassNotFoundException:clojurenet.hello中得到错误消息
异常,编译:(clojurenet/core.clj:2:3)
。我该怎么做

我更愿意在核心文件中使用
:refere:all
语法,但我相信这个例子应该是最简单的

我相信有一个愚蠢的简单解决办法,但我的研究并没有成功

此外,您是否有用于构建第一个项目的som优秀教程?我发现有些教程已经过时了,大多数教程只介绍了如何使用REPL


提前谢谢

您在
clojurenet.core

(ns clojurenet.core) ;; <- remove ) to fix
  (:require clojurenet.hello)
  (:gen-class))

(ns clojurenet.core);;您是否尝试过
lein clean
?而且在
clojurenet.core
之后您的妄想不平衡,谢谢!Tah是我正在寻找的简单而愚蠢的解决方案,我建议使用paredit之类的平衡器来防止这种情况发生……我目前是Sublime Text的用户,而不是Emacs。我将为Sublime寻找一些类似的选项:)