
Interopérer avec Clojure à partir de Java sans compilation RT
Malgré les recommandations obsolètes d'utiliser la classe clojure.lang.RT pour Clojure-to-Java interopérabilité, les approches actuelles ne nécessitent plus cette méthode. Cette méthode améliorée consiste à compiler le code Clojure dans un JAR autonome et à l'appeler directement depuis Java. Voici un guide étape par étape :
-
Compilez le code Clojure :
- Créez un fichier Clojure contenant les fonctions que vous souhaitez appel depuis Java.
- Assurez-vous que le fichier Clojure inclut le mot-clé :methods pour générer des méthodes statiques dans Java.
- Compilez le fichier dans un JAR à l'aide de la commande : lein jar.
-
Accédez aux fonctions Clojure depuis Java :
- Incluez le JAR Clojure généré dans le fichier de votre projet Java classpath.
- Créez des classes Java qui importent les classes Clojure nécessaires et invoquez les méthodes statiques avec le préfixe -.
-
Exemple de code Clojure :
1 2 3 4 5 6 7 8 9 | (ns com.example.clojure)
(defn binomial [n k]
(let [a (inc n)]
(loop [b 1
c 1]
( if (> b k)
c
(recur (inc b) (* (/ (- a b) b) c))))))
|
Copier après la connexion
-
Exemple Java Code :
1 2 3 4 5 6 7 8 9 | import com.example.clojure;
public class JavaCaller {
public static void main(String[] args) {
System.out.println( "(binomial 5 3): " + clojure.binomial(5, 3));
System.out.println( "(binomial 10042, 111): " + clojure.binomial(10042, 111));
}
}
|
Copier après la connexion
-
Exécuter le programme Java :
- Compilez la classe Java avec javac et générez un JAR avec jar ou un IDE.
- Exécutez le JAR pour appeler les fonctions Clojure à partir de Java.
Cette approche permet une interopérabilité transparente entre Clojure et Java, éliminant le besoin d'étapes intermédiaires ou de procédures de compilation complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!