Я подозреваю, что это может быть как-то связано с java-interop, так как я вызываю много функций java в своем коде.
Когда я запускаю следующее в моем REPL (через emacs), оно работает точно так, как должно
(def height 100)
(def image (BufferedImage. width height BufferedImage/TYPE_INT_ARGB))
(def graphics (.createGraphics image))
(.setColor graphics Color/black)
(for [x (range 0 width 10)]
(.drawLine graphics x 0 x height ))
(for [y (range 0 height 10)]
(.drawLine graphics 0 y width y))
(ImageIO/write image "png" (io/file "output.png"))
Правильно генерируется изображение сетки.
Однако, если я делаю Cc Ck, оно генерирует пустое изображение.
Теперь, когда я вставляю его ви я запускаю ее через lein run
Я получаю предупреждение, которое не понимаю:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by clojure.lang.InjectedInvoker/1832669781 (file:/home/n/.m2/repository/org/clojure/clojure/1.10.0/clojure-1.10.0.jar) to method sun.java2d.SunGraphics2D.setColor(java.awt.Color)
WARNING: Please consider reporting this to the maintainers of clojure.lang.InjectedInvoker/1832669781
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Я очень мало знаю о clojure и даже меньше о java, но я использую openjdk 10.
Я считаю, что мой код написан правильно (хотя и плохо), это проблема с моим кодом или ошибка?