问题描述
我已经使用libGdx大约一年了,并且我创建了一组紧密相关的类,它们共同构成了一个实用的“模块”,供其他libgdx项目中使用。
从字面上讲是“模块”。
起初,我只想制作模块(使用java模块作为文字模块)。但是后来我想,为什么不只是制作库呢?
对我来说重要的是可重用性,因此首先:
1。模块和库之间有什么区别?您只是制作一个模块并在项目之间复制粘贴它还是制作一个库?
可能不是应该如何使用Java模块。我目前正在阅读有关Java模块的更多信息。
其他上下文: 该类集包含仅在内部使用的类,有些包含在外部作为公共“将是库”类使用。 “模块”本身有点像一个具有输入/输出类的程序。想法是在这样的砖块上构建我的项目。所以我对如何使其模块化感到困惑。我认为制作它们的库并将其导入到将来的libgdx项目中是可行的方法。
无论哪种方式,标题问题都会在稍后的某个时刻提出。
一些一般的实用信息:(我介绍了如何制作图书馆,这可能是相关的,也可能是不相关的。跳过本节以解决问题 )
出于测试目的,我创建了一个新项目,并包含一些libgdx库。
(我将它们放在项目中的“ lib”文件夹中,或者通常在每个新项目使用的外部文件夹中。在IntelliJ上,我转到文件-项目结构-库。并找到要包含的gdx .jar文件。 )
我创建了一个扩展gdx类的任意类。
据我了解,这就是制作图书馆的方法。
我试图在IntelliJ中做到这一点
(在Eclipse上,它在youtube教程上看起来更简单。只需右键单击一个包并导出为.jar)
IntelliJ:文件-项目结构-工件-(+)从具有依赖性的模块中添加Jar->。
我选择一个带有项目名称的模块。 (我想如果项目中有更多模块,您也可以选择它们)
因为它是一个库,所以我假设您将Main class路径保留为空。
我选择了“提取到目标JAR”。然后按确定。
出现:
目前我不知道我在看什么。
我按应用/确定。
从这里我转到Build-Buildartifact。选择.jar文件并生成。
所以我想您可以将gdx库与您的一个或多个库合并,并且仅包含所有库中的一个.Jar文件?
所以:
2。制作/包含库的正确方法是什么?以及如何建立一个依赖于其他库的库?我真的不希望在我的库中有libgdx库。我想像往常一样包含libgdx库。然后以某种方式包含应该依赖libgdx的库,但不要将它们包含在库中。
我听说过Maven和Gradle,但是我对它们并不熟悉。这是我应该使用的东西吗?还是我不能没有?
任何反馈表示赞赏。
解决方法
您绝对应该使用Maven和Gradle之类的构建工具来构建库。您只需配置所需的依赖项,它们就不会包含在您自己的库中。
我对您的建议是使用Gradle作为构建工具,使用GitHub作为服务,并使用Jitpack发布该库。现在,将这些名称粘贴到您首选的搜索引擎中,然后开始。 :-)