Сборка Java в Clojure с использованием Cake - PullRequest
1 голос
/ 20 декабря 2011

Начать редактирование: Прежде всего я хочу, чтобы моя программа Clojure использовала класс Java.

Я также получил несколько хороших советов по возвращению к леину из пирога, потому что они слияния.

Если кто-нибудь, читающий это, может порекомендовать книгу для настройки среды сборки Java / Clojure, а не для изучения Java, я был бы признателен. Конец редактирования:

Хотя я могу читать код Java, я не программист на Java. Я успешно создаю основные программы Clojure, используя торт, и мне нужно создать класс Java, который станет частью моего основного Clojure. Я не могу понять, как включить 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 Ответ

2 голосов
/ 21 декабря 2011

Не совсем понятно, что вы хотите сделать. Я предполагаю, что вы хотите скомпилировать класс Java и использовать его в ваших исходных текстах. В этом случае вам не нужно делать что-то особенное. Разместите ваши Java-классы там, где вы хотите (скажем, dir '/ project_dir / src') и добавьте

:java-source-path "src"

в ваш project.clj файл. В этом случае java-классы будут скомпилированы вместе с файлами clojure, и их корневой каталог иерархии пакетов будет начинаться с выбранного вами каталога. Теперь вы можете использовать эти классы так же, как и любые другие классы - предложение :import в форме (ns ...) или прямое (import ...).

UPD. Можно также упомянуть, что вы можете свободно смешивать исходный каталог java с исходными кодами clojure, поэтому вы можете установить для project.clj options :source-path и :java-source-part одинаковое значение, в данном примере «src».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...