微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将本地Java类导入Clojure

我理解在clojure中导入 Java类的一般想法,如下所示:

(import 'a.random.Class)

但是,假设我有一个包含我想要使用的’Example’类的文件Example.java,如何导入这样的东西呢?

抱歉,如果这个相当noobish已经得到回答,我一直在环顾四周,但在发布之前一无所获,并提前感谢任何能够解决问题的人.

解决方法

为了能够使用Example.java中定义的类,您必须编译它并将生成的类文件放在类路径上.

如果此Java文件是Clojure项目中的帮助程序,则可以使用Leiningen自动执行该过程:

(defproject foo "1.2.3-SNAPSHOT"
  ; ...
  :java-source-paths ["src/main/java"]
  )

假设Example.java位于src / main / java的子目录中,当您使用它来启动REPL或准备项目的jar时,Leiningen将编译它并将其包含在类路径中. (还有:javac-options,用于指定作为字符串向量传递给Java编译器的选项.)

如果您的Java源代码树更广泛且独立于项目的Clojure端,则将其打包为单独的Java项目可能更有意义.然后,Clojure方将使用Java项目作为依赖项.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐