2013-02-13 23 views
5

Tôi muốn sử dụng số HDF5 java library từ Clojure. Thật không may, cách thông thường bao gồm các phụ thuộc java (tức là thông qua sự hỗ trợ của Leiningen đối với kho lưu trữ Maven) không có sẵn. Điều này có thể là do thư viện HDF5-Java là một bộ mã C++ được biên dịch bởi JNI và mã Fortran.Bao gồm các phụ thuộc java nền tảng cụ thể (không đặt tóc của tôi trên lửa)

Tôi đã xem xét Maven-izing phiên bản HDF5-Java gần đây, nhưng không hiểu cách các phiên bản dành riêng cho nền tảng được xử lý ở đó/quyết định quá nhiều đau. Giả sử tôi đang bị mắc kẹt bằng cách sử dụng lọ nền tảng cụ thể phát hành bởi nhóm HDF, là có một cách tương đối tốt để xử lý này, trong khi tiếp tục chủ yếu sống trong thế giới thoải mái của Leiningen?

Trả lời

1

Tôi chưa bao giờ thử bản thân mình, nhưng có vẻ như bạn có thể phụ thuộc vào Leiningen bằng cách đóng gói thư viện HDF5 vào tệp JAR theo cấu trúc thư mục được mô tả here, cài đặt nó trong Maven và thêm phụ thuộc thường xuyên trên thư viện đó trong project.clj. Leiningen nên xử lý công việc bẩn của việc phát hiện hệ điều hành và kiến ​​trúc của bạn và bao gồm các phần chính xác trên đường dẫn lớp dự án của bạn.

Để đọc hơn, hãy kiểm tra:

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

+0

Dần dần làm việc thông qua này để xem nếu tôi có thể làm cho công việc phương pháp này. Một chút khó khăn là nếu tôi chỉ ném toàn bộ cây nền tảng cụ thể vào các nhánh cây bản địa, tôi kết thúc với một cái bình 40MB - quá lớn đối với clojars. Vì vậy, tôi đang cố gắng thông minh hơn một chút về việc phân tách nội dung cụ thể cho nền tảng từ nội dung đa nền tảng. Hy vọng rằng sự va chạm của tôi xung quanh trên clojars không thu hút cá mập. – Peter

Các vấn đề liên quan