gpt4 book ai didi

java - 如何在 clojure 中访问一 jar jar ?

转载 作者:行者123 更新时间:2023-11-29 09:11:48 25 4
gpt4 key购买 nike

我正在将 lein 用于 Clojure 项目,我正在尝试使用 libgdx包装在 clojars .从该包安装的 jar 文件包含一个 lib 文件夹,其中包含多个用于 gdx 的 jar。

$ jar tf org/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 上为 lein 项目建立了一个公共(public)存储库:Project Link

我会更新项目,以便在我解决问题后可以作为其他人的示例。

最佳答案

uberjar 将无法工作,因为 clojars 中的文件不是包含类的普通 jar 文件,而是一个真正的文件,您需要下载、提取必要的 jar 并将它们放在项目的类路径或 lib 中.

虽然你可以编写一个花哨的类加载器来做到这一点,但这与 instructions from the libgdx site 背道而驰。其中包括指令:

 Download the nightly zip and place gdx.jar and gdx-sources.jar in the libs folder.

更合适的做法是从下载的 jar 中提取 jar 并将它们添加到 clojars 并单独引用它们。或者只是将它们添加到您的本地类路径或存储库中。

关于java - 如何在 clojure 中访问一 jar jar ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11907340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com