我正在使用lein進行Clojure項目,我嘗試使用clojars中的libgdx包。從該軟件包安裝的jar文件包含一個lib文件夾,其中包含多個用於gdx的jar文件。如何在clojure中訪問一罐罐子?
$罐子TF組織/ clojars/AMU/libgdx/0.92/libgdx-0.9.2.jar
lib/
lib/gdx-openal.jar
lib/gdx-backend-jogl-natives.jar
lib/gdx-backend-android.jar
lib/gdx-backend-lwjgl.jar
lib/gdx-backend-lwjgl-natives.jar
lib/gdx.jar
lib/gdx-natives.jar
lib/gdx-backend-jogl.jar
我還增加了以下依賴到我project.clj:[org.clojars.amu/libgdx「0.9.2」]
我不確定的是我如何使用:use和:require關鍵字訪問libgdx jar中的每個jar包?
(ns game.core
(:import (libgdx.gdx Game)) <- does not work
我已經把一個公共倉庫的雷音項目了GitHub上的位置:Project Link
,以便它可以作爲一個例子他人一旦我有它解決了我會更新該項目。
我不是Java專家,但看起來,這Clojure的類裝載器並不見嵌入式罐子... – 2012-08-11 08:01:23
JVM的默認類加載器不支持嵌套的罐子。有第三方類加載器,如[One-JAR](http://one-jar.sourceforge.net/)支持嵌套jar,但包括第三方類加載器似乎有點矯枉過正。你爲什麼不解壓libgdx jar,然後把每個嵌套jar分別推送給Clojars? – DaoWen 2012-08-12 06:02:40
這個問題的一個常見方法是創建一個[uberjar](https://github.com/technomancy/leiningen/blob/master/src/leiningen/uberjar.clj) – skuro 2012-08-13 06:11:38