包含特定平台的Java依赖项(无需引起我的头发着火)

5
我想利用Clojure使用HDF5 java library,但很遗憾,通常的包含Java依赖项的方式(即通过Leiningen对Maven库的支持)不可用。这可能是因为HDF5-Java库是一组JNI包装的编译C++和Fortran代码。
我尝试将最新版本的HDF5-Java Maven化,但不理解如何处理特定于平台的版本/决定那太麻烦了。假设我被困在使用由HDF组发布的特定于平台的JAR文件中,是否有一个相对较好的处理方式,同时继续大部分生活在舒适的Leiningen世界中?
1个回答

1

我自己从未尝试过这个,但看起来你应该能够通过将HDF5库打包成一个JAR文件并按照这里所描述的目录结构安装到Maven中,在project.clj中添加对该库的常规依赖项,从而在Leiningen中使用本地依赖项。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,本地依赖


慢慢地努力尝试这个方法,看看是否可行。其中一个棘手的问题是,如果我只是将整个平台特定的树形结构放入本地分支中,最终得到的 jar 包大小是 40MB——对于 clojars 来说太大了。因此,我正在尝试更聪明地将特定于平台的内容与跨平台的内容分开。希望我在 clojars 上的探索不会招来鲨鱼。 - Peter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接