使用Clojure使用Cake构建Java

时间:2011-12-20 15:22:48

标签: java clojure

开始编辑: 主要是我希望我的Clojure程序使用Java类。

我从蛋糕回到lein也得到了一些很好的建议,因为他们是 合并。

如果有人读这篇文章可以推荐一本书来设置Java / Clojure构建环境,而不是学习Java,我将不胜感激。 结束编辑:

虽然我可以阅读Java代码,但我不是Java程序员。我正在使用cake成功构建Clojure主程序,并且需要创建一个Java类,它成为我的Clojure main的一部分。我无法弄清楚如何将MyClass.class合并到Clojure构建中。

首先是我的project.clj,然后是几行应用程序.clj文件。

(defproject ba1-app "0.0.1-SNAPSHOT"
  :description "TODO: add summary of your project"
  :dependencies [[org.clojure/clojure "1.2.1"]
                 [org.clojure/tools.cli "0.1.0"]]
   :main ba2-app)

(ns ba2-app
    (:gen-class)
    (:use [clojure.string :only [split]]
          [clojure.string :only [join]]))

(def^:dynamic avail-trans [\W \D])
(def^:dynamic acct-types [[\C 0.02][\S 0.04] [\M 0.06]])
.
.
.

1).java文件是否应该与.clj应用程序模块进入同一目录?

2)构建说明是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

目前还不清楚你想做什么。我假设您要编译java类并在clojure源中使用。在这种情况下,您不必做一些特殊的事情。将您的java类放在您想要的位置(例如,dir'/ project_dir / src')并添加

:java-source-path "src"

到您的project.clj文件。在这种情况下,java类将与clojure文件一起编译,它们的包层次结构根将从您选择的此目录开始。您现在可以使用这些类,就像您使用:import形式中的任何其他类(ns ...)子句或直接使用(import ...)一样。

UPD。还可以提到的是,您可以自由地将您的java源目录与您的clojure源混合,这样您就可以将project.clj个选项:source-path:java-source-part设置为相同的值,“src”in这个例子。