首页 > Java > java教程 > 如何从 Java 高效调用 Clojure 函数?

如何从 Java 高效调用 Clojure 函数?

Barbara Streisand
发布: 2024-12-02 10:43:09
原创
634 人浏览过

How Can I Efficiently Call Clojure Functions from Java?

从 Java 调用 Clojure

简介:

Clojure 和 Java 之间的接口是常见的许多项目中的要求。然而,使用 clojure.lang.RT 的旧方法现在已经过时了。在这篇文章中,我们将解释执行此集成的简化方法,假设有一个预构建的 Clojure jar 并将其包含在类路径中。

分步说明:

  1. 创建 Clojure命名空间:

    使用 :gen-class 关键字定义 Clojure 命名空间,以指定可从 Java 访问的 Java 类和方法。例如:

  2. 定义静态方法包装器:

    使用 Java- 包装要从 Java 调用的 Clojure 函数可调用包装器,以连字符为前缀(例如,-binomial)。这允许 Java 调用 Clojure 函数。

  3. 构建并包含 Clojure Jar:

    将 Clojure 命名空间编译为 jar 文件并包含它位于 Java 项目的类路径中。确保 Clojure jar 也存在于类路径中。

  4. 从 Java 调用 Clojure:

    在您的 Java 程序中,导入 Clojure 类并像调用 Java 方法一样调用静态方法。例如:

  5. 设置编译参数:

    编译Java部分时,指定类路径以包含Clojure jar和包将生成的类和清单放入 JAR 中文件。

更新的示例(使用现代工具):

使用 Clojure 1.5.1、Leiningen 2.1.3 和 JDK 1.7.0更新25:

Clojure 部分:

  • 创建 Leiningen 项目并使用以下内容更新 project.clj:

  • 确保使用 lein 解决依赖关系deps。
  • 使用 lein jar 将 Clojure 代码打包到 jar 中。
  • 将 Clojure jar 和构建的 Clojure jar 放在方便的位置。

Java部分:

  • 创建一个Java类(例如 Main.java)如原始示例所示。
  • 编译 Java 类:

  • 创建清单文件 (Manifest.txt ):

  • 将 Java 类打包将 Clojure jar 放入 JAR 文件中:

  • 运行 Java 程序:

此更新的示例演示了互操作性使用现代工具在 Clojure 和 Java 之间切换。

以上是如何从 Java 高效调用 Clojure 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板