¿Orden de compilación de Leiningen?
Solo estoy aprendiendo alein
, y me gustaría usar desde una fuente Java una clase creada pordeftype
en una fuente de Clojure. Esto no se trató en el tutorial básico y no puedo hacer que funcione correctamente.
El problema es que la fuente Java no puede importar la clase Clojure, ya que aún no se ha compilado. Y la clase Clojure no se compila, ya que la fuente Java anula la compilación.
Doy un ejemplo mínimo:
Crea un nuevo proyecto con:
lein new app javafoo
añadirproject.clj
:aot :all
:java-source-paths ["src/java"]
Poner ensrc/javafoo/core.clj
:
(ns javafoo.core)
(deftype PPoint [x y])
Poner ensrc/java/JavaFoo.java
:
package foo.java;
import javafoo.core.PPoint;
public class JavaFoo {
public static void main(String[] args) {
System.out.println("JavaFoo");
}
}
Tratar de compilar
lein compile
Falla conpackage javafoo.core doesn't exist
. Así que ahora tengo que
:java-source-paths
CompilarDescomentar:java-source-paths
CompilarFinalmente funciona ¿Hay alguna manera de hacerlo funcionar desde el principio?