Я оглянулся и, кажется, вы пытаетесь запустить старый пример из Радость Clojure , верно?
В примере потребовалось небольшое касание.чтобы я мог его запустить.
- Сначала я создал новый проект Leiningen с
lein new app dynademo
. - Внутри папки нового проекта я создал каталоги для пространства имен:
mkdir -p src/joy/gui
- Создан файл
src/joy/gui/DynaFrame.clj
Проект Leiningen, который мы только что создали с lein new ...
, использует Clojure 1.10, который, похоже, не похож на одну вещь:
- Заменить строку на
:prefix df-
на :prefix "df-"
(например, обернуть значение df-
в кавычки)
Сохранить файл, и теперь вы можете запуститьокно из REPL, вот так:
$ lein repl
nREPL server started on port 44037 on host 127.0.0.1 - nrepl://127.0.0.1:44037
REPL-y 0.4.3, nREPL 0.6.0
Clojure 1.10.0
OpenJDK 64-Bit Server VM 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e
dynaframe.core=> (compile 'joy.gui.DynaFrame)
joy.gui.DynaFrame
dynaframe.core=> (def hello-frame (joy.gui.DynaFrame. "Hello"))
#'dynaframe.core/hello-frame
dynaframe.core=> (.show hello-frame)
nil
Это выглядит так:
(вам нужно будет переместить/ немного изменить размер окна, но вы поняли). Примечание : Я использую Java 8 (JDK 1.8.0_191), но он должен работать в JDK 12. То же самое.