Squeak.ru - шаблоны программирования

Как использовать скомпилированный класс Clojure в Eclipse против часовой стрелки

Я создал базовый класс hello world в eclipse с помощью clojure и против часовой стрелки, и я могу без проблем скомпилировать его с помощью clojure.

(ns ca.ckovacs.test.helloWorld
    (:gen-class))

(defn -main
  [greetee]
  (println (str "Hello " greetee "!")))

Я вижу, что это генерирует три класса в моей папке / classes:


helloWorld__init.class
helloWorld$_main__135.class
helloWorld$loading__6309__auto__133.class

Но почему я не получаю helloWorld.class?

В конце концов я хочу иметь возможность использовать в Eclipse скомпилированный класс Clojure.

Должно быть, мне не хватает чего-то очевидного, но, читая страницу компиляции на clojure.org, в опубликованном примере hello world говорится, что вы можете просто загрузить класс helloWorld, как любой другой класс java.

Спасибо.

07.02.2010

Ответы:


1

Я не знаю, в чем была проблема, но в итоге я переименовал свое имя пакета и получил файл helloWorld.class, как и ожидалось.

Я подозреваю, что проблема может быть связана с тем, что у меня было два отдельных исходных пути (один для Java, один для Clojure), которые использовали одно и то же пространство имен пакетов.

08.02.2010

2

Хммм ... Поскольку никто не дал ответа, я постараюсь дать некоторые рекомендации, даже если я не использую Eclipse или Counterclockwise.

Если вы хотите обрабатывать свои функции Clojure как статические методы при вызове из Java, вам необходимо добавить некоторую информацию в свой оператор (gen-class), в частности ключевое слово :methods.

См. Мой ответ на «Вызов Clojure с Java» несколько дней назад. Он предоставляет ответ, разработанный на NetBeans, и приложение, которое может дать некоторые рекомендации по вашей проблеме.

Работа с классами / объектами / наследованием между двумя языками немного сложнее.

08.02.2010
  • Я разобрался в проблеме (по крайней мере, как ее обойти). Спасибо за информацию, я нашел ее полезной. 09.02.2010
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...