我使用Libgdx项目生成器创建了我的第一个LibGDX项目。然后我在IntelliJ中打开了项目,它要求我在build.gradle文件中索引存储库。有问题的远程存储库是:
所有这些总计大约5到6 GB的东西,smartJ愉快地开始下载。因为它需要很长时间才能完成,所以我开始浏览其中的一些存储库。通常,使用像gradle这样的repo管理器的重点是,对于您正在使用的库,您不会下载整个内容,只需要下载您需要的部分。但是,sonatype snapshots和releases充满了大量的文件和许多不同的版本/发行版。
我的问题是:应该是下载所有这些文件还是我错过了什么?有没有办法我只能下载我需要的点点滴滴?
这是我的完整build.gradle:
buildscript {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
}
dependencies {
}
}
allprojects {
apply plugin: "eclipse"
apply plugin: "idea"
version = '1.0'
ext {
appName = "HelloWorld"
gdxVersion = '1.9.6'
roboVMVersion = '2.3.0'
box2DLightsVersion = '1.4'
ashleyVersion = '1.7.0'
aiVersion = '1.8.0'
}
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven { url "https://oss.sonatype.org/content/repositories/releases/" }
}
}
project(":desktop") {
apply plugin: "java"
dependencies {
compile project(":core")
compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
compile "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-desktop"
compile "com.badlogicgames.gdx:gdx-tools:$gdxVersion"
}
}
project(":core") {
apply plugin: "java"
dependencies {
compile "com.badlogicgames.gdx:gdx:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
}
}
tasks.eclipse.doLast {
delete ".project"
}
答案 0 :(得分:1)
不需要下载所有版本的注入库。
如果使用gradle构建,则只下载所需的工件,仅包含您注入的版本。
索引maven存储库
maven存储库由工件和这些工件的不同版本组成。我的猜测是,当像IntelliJ这样的IDE读取远程存储库时,它将创建一个单独的本地缓存/迷你数据库库名称+机器上的存储库中可用的版本。这是索引部分。这样可以更快地搜索库名称/最新版本等,因为现在正在查询计算机上的索引,而不是每次都访问存储库。
它没有什么重要的,也不会影响你的构建,但是你的IDE只是告诉它,每当它寻找版本/依赖名称(在自动完成等)时,它必须上网并检查这些细节(而不只是检查本地缓存。)
如果需要,可以通过单击“禁用”来禁用此通知:
找到未编制索引的远程maven存储库。禁用...
或在Mac OSX上转到
IntellijIDEA>偏好>外观&行为>通知>未编入索引的maven存储库gradle detection>取消选中
保留Unindexed远程maven repo,每次如果在本地repo中找不到特定版本的工件,则搜索到远程。