2013-02-13 12 views
5

Chciałbym skorzystać z HDF5 java library z Clojure. Niestety, zwykły sposób włączania zależności Java (np. Poprzez wsparcie Leiningena dla repozytoriów Maven) nie jest dostępny. Jest tak prawdopodobnie dlatego, że biblioteka HDF5-Java jest opakowanym w JNI zbiorem skompilowanych kodów C++ i Fortran.Włącz zależne od platformy zależności Java (bez podpalania włosów).

Spojrzałem na Maven-izing najnowszej wersji HDF5-Java, ale nie rozumiałem, w jaki sposób obsługiwane są wersje specyficzne dla platformy/zdecydowałem, że było to zbyt wielkim bólem. Zakładając, że utknąłem przy użyciu słoików specyficznych dla platformy wydanych przez grupę HDF, czy istnieje stosunkowo dobry sposób na ich obsłużenie, jednocześnie kontynuując życie w komfortowym świecie Leiningen?

Odpowiedz

1

Nigdy nie próbowałem ten sam, ale wygląda na to, powinieneś być w stanie rodzimych zależności w Leiningen przez pakowanie się bibliotekę hdf5 do pliku JAR po katalogu struktury opisanej here zainstalowanie go w Maven i dodanie regularna zależność od tej biblioteki w project.clj. Leiningen powinien poradzić sobie z brudną robotą polegającą na wykryciu twojego systemu operacyjnego i architektury oraz włączeniem poprawnych części do ścieżki klas projektu.

Więcej czytania, sprawdź:

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

Powoli pracy przez to, aby zobaczyć, czy mogę dokonać tej pracy podejście. Jedną z trudniejszych rzeczy było to, że jeśli po prostu wrzucam całe drzewo specyficzne dla platformy do rodzimych gałęzi, otrzymam słoik o rozmiarze 40 MB - zbyt duży dla kloszów. Tak więc staram się być nieco mądrzejszy w dzieleniu tego, co dotyczy platformy, od wieloplatformowych rzeczy. Mam nadzieję, że moje rzucanie się na clojars nie przyciąga rekinów. – Peter

Powiązane problemy