如何创建依赖于其他库(Java,libgdx)的库

时间:2020-08-19 01:37:00

标签: java intellij-idea libgdx

我已经使用libGdx大约一年了,并且我创建了一组紧密相关的类,它们共同构成了一个实用的“模块”,供其他libgdx项目中使用。

从字面上讲是“模块”。

起初,我只想制作模块(使用java模块作为文字模块)。但是后来我想,为什么不只是制作库呢?

对我来说重要的是可重用性,因此首先:

1。模块和库之间有什么区别?您只是制作一个模块并在项目之间复制粘贴它还是制作一个库?

可能不是应该如何使用Java模块。我目前正在阅读有关Java模块的更多信息。

其他上下文: 该类集包含仅在内部使用的类,有些包含在外部作为公共“将是库”类使用。 “模块”本身有点像一个具有输入/输出类的程序。想法是在这样的砖块上构建我的项目。所以我对如何使其模块化感到困惑。我认为制作它们的库并将其导入到将来的libgdx项目中是可行的方法。

无论哪种方式,标题问题都会在稍后的某个时刻提出。


一些一般的实用信息:(我介绍了如何制作图书馆,这可能是相关的,也可能是不相关的。跳过本节以解决问题

出于测试目的,我创建了一个新项目,并包含一些libgdx库。

(我将它们放在项目中的“ lib”文件夹中,或者通常在每个新项目使用的外部文件夹中。在IntelliJ上,我转到文件-项目结构-库。并找到要包含的gdx .jar文件。 )

我创建了一个扩展gdx类的任意类。

我想从这里建立一个图书馆。 (或项目的.jar文件)

据我了解,这就是制作图书馆的方法。

我试图在IntelliJ中做到这一点

(在Eclipse上,它在youtube教程上看起来更简单。只需右键单击一个包并导出为.jar)

IntelliJ:文件-项目结构-工件-(+)从具有依赖性的模块中添加Jar->。

我选择一个带有项目名称的模块。 (我想如果项目中有更多模块,您也可以选择它们)

因为它是一个库,所以我假设您将Main class路径保留为空。

我选择了“提取到目标JAR”。然后按确定。

出现:

enter image description here

目前我不知道我在看什么。

我按应用/确定。

从这里我转到Build-Buildartifact。选择.jar文件并生成。

所以现在我有一个.jar文件,可以将其导入到新项目中。

但是这个.jar文件还包括它依赖的libgdx库。

所以我想您可以将gdx库与您的一个或多个库合并,并且仅包含所有库中的一个.Jar文件?


所以:

2。制作/包含库的正确方法是什么?以及如何建立一个依赖于其他库的库?我真的不希望在我的库中有libgdx库。我想像往常一样包含libgdx库。然后以某种方式包含应该依赖libgdx的库,但不要将它们包含在库中。

我听说过Maven和Gradle,但是我对它们并不熟悉。这是我应该使用的东西吗?还是我不能没有?

任何反馈表示赞赏。

1 个答案:

答案 0 :(得分:0)

您绝对应该使用Maven和Gradle之类的构建工具来构建库。您只需配置所需的依赖项,它们就不会包含在您自己的库中。

我对您的建议是使用Gradle作为构建工具,使用GitHub作为服务,并使用Jitpack发布该库。现在,将这些名称粘贴到您首选的搜索引擎中,然后开始。 :-)