clojure - 包括特定于平台的 java 依赖项(不让我的头发着火)

标签 clojure leiningen

我想利用HDF5 java library来自 Clojure。不幸的是,包含 java 依赖项的常用方法(即通过 Leiningen 对 Maven 存储库的支持)不可用。这可能是因为 HDF5-Java 库是一组 JNI 封装的已编译 C++ 和 Fortran 代码。

我查看了 Maven-izing 最新版本的 HDF5-Java,但不明白在那里如何处理特定于平台的版本/决定这太痛苦了。假设我一直在使用 HDF 小组发布的特定于平台的 jars,有没有一种相对好的方法来处理这些问题,同时继续主要生活在 Leiningen 的舒适世界中?

最佳答案

我自己从来没有尝试过这个,但看起来你应该能够通过按照 here 描述的目录结构将 HDF5 库打包到一个 JAR 文件中来获得 Leiningen 中的 native 依赖项。 ,在 Maven 中安装它,并在 project.clj 中添加对该库的常规依赖项. Leiningen 应该处理检测您的操作系统和架构以及在您的项目类路径中包含正确部分的肮脏工作。

如需更多阅读,请查看:

http://nakkaya.com/2010/04/05/managing-native-dependencies-with-leiningen/

http://bially.posterous.com/using-jogl-in-your-clojure-project

Clojure, Lein, JavaFx, native deps

关于clojure - 包括特定于平台的 java 依赖项(不让我的头发着火),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856678/

相关文章:

clojure - 使变量常量用于 Clojure 中的 case 语句

data-structures - 使用交换!更新 Clojure(Script) 原子中的 map 向量

clojure - 在 profile.clj 中为 *print-length* 提供默认值的正确方法是什么?

clojure - 防止 SublimeREPL 中的 'lein repl' 回显上一个命令

clojure - 莱因·米杰 :autotest throwing exception (No namespace found)

reflection - Clojure 列出 leiningen 命名空间

clojure - 在 Clojure 上使用自定义比较器对原始数组进行排序

clojure - 在clojure中,如何使用匿名函数字面量写恒等函数?

clojure - 在莱宁根哪里可以找到依赖项的有效版本号

emacs - 让 Emacs 24 运行 SLIME 和 Clojure 调试工具包 (CDT) 的问题