Problèmes d'interopérabilité entre Java et Clojure. Veuillez vous référer à ce document sur le site officiel de clojure.
Les documents et exemples suivants sont tirés du document ci-dessus.
Dans l’ensemble, utiliser Java à partir de Clojure est beaucoup plus simple et pratique. Si vous souhaitez utiliser Clojure pour implémenter une classe Java, il sera un peu plus compliqué de laisser Java l'appeler. Il y a une section dans le document ci-dessus qui explique que la méthode n'est pas pré-compilée :
Utilisez clojure.java.api.Clojure pour appeler les fonctions clojure. Par exemple :
IFn plus = Clojure.var("clojure.core", "+");
plus.invoke(1, 2);
Ma propre expérience est que cette opération est suffisante. Généralement, une classe statique pure en Java sans méthodes d'instance est conçue pour encapsuler les fonctions ci-dessus et fournir des informations de type.
Une autre méthode consiste à utiliser aot, ce qui est un peu plus compliqué. Il existe un plugin Maven qui fait cela. Je ne l'ai pas utilisé moi-même.
Problèmes d'interopérabilité entre Java et Clojure. Veuillez vous référer à ce document sur le site officiel de clojure.
Les documents et exemples suivants sont tirés du document ci-dessus.
Dans l’ensemble, utiliser Java à partir de Clojure est beaucoup plus simple et pratique. Si vous souhaitez utiliser Clojure pour implémenter une classe Java, il sera un peu plus compliqué de laisser Java l'appeler. Il y a une section dans le document ci-dessus qui explique que la méthode n'est pas pré-compilée :
Utilisez
clojure.java.api.Clojure
pour appeler les fonctions clojure. Par exemple :Ma propre expérience est que cette opération est suffisante. Généralement, une classe statique pure en Java sans méthodes d'instance est conçue pour encapsuler les fonctions ci-dessus et fournir des informations de type.
Une autre méthode consiste à utiliser aot, ce qui est un peu plus compliqué. Il existe un plugin Maven qui fait cela. Je ne l'ai pas utilisé moi-même.