Gradle 生成项目:大量下载

Gradle 生成项目:大量下载,gradle,libgdx,maven-2,sonatype,Gradle,Libgdx,Maven 2,Sonatype,我使用LibGDX项目生成器创建了我的第一个LibGDX项目。然后,我在IntelliJ中打开了该项目,它要求我在build.gradle文件中为存储库编制索引。所讨论的远程存储库是: 马文2 所有oss.sonatype快照 所有的oss.sonatype版本 所有这些总计约为5到6GB的内容,intelliJ很高兴地开始下载。因为要花很长时间才能完成,我开始浏览其中的一些存储库。使用像gradle这样的repo管理器的典型意义在于,对于您正在使用的库,您不需要下载全部内容,只需要下载所需的部

我使用LibGDX项目生成器创建了我的第一个LibGDX项目。然后,我在IntelliJ中打开了该项目,它要求我在build.gradle文件中为存储库编制索引。所讨论的远程存储库是:

马文2 所有oss.sonatype快照 所有的oss.sonatype版本 所有这些总计约为5到6GB的内容,intelliJ很高兴地开始下载。因为要花很长时间才能完成,我开始浏览其中的一些存储库。使用像gradle这样的repo管理器的典型意义在于,对于您正在使用的库,您不需要下载全部内容,只需要下载所需的部分。但是,sonatype和都有大量的文件和很多不同的版本/发行版

我的问题是:应该下载所有这些文件,还是我错过了什么?有没有办法只下载我需要的零碎的东西

这是我的完整版本。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"
}

不需要下载所有版本的所有注入库

如果您使用gradle构建,那么它只下载您注入的版本所需的工件

为maven存储库编制索引

maven存储库由工件和这些工件的不同版本组成。我的猜测是,当像IntelliJ这样的IDE读取远程存储库时,它将创建一个单独的本地缓存/迷你数据库,其中包含机器上存储库中可用的库名+版本。这就是索引部分。这使得搜索库名/最新版本等的速度大大加快,因为现在正在查询机器上的索引,而不是每次都访问存储库

它并不重要,也不会影响您的构建,但您的IDE只是告诉您,无论何时在自动完成等过程中查找版本/依赖项名称,它都必须联机检查这些详细信息,而不仅仅是检查本地缓存

索引的优势-搜索速度 缺点-你必须确保索引是最新的,否则你不会总是得到最新的搜索结果,新的版本等等。不知何故,5到6 GB是下载是痛苦的。 如果需要,可以通过单击“禁用”禁用此通知:

找到未索引的远程maven存储库。禁用

或者在Mac OSX上转到

IntellijIDEA>首选项>外观和行为>通知>未索引maven存储库渐变检测>取消选中

保持未索引的远程maven repo,每次如果在本地repo中找不到具有特定版本的工件,则它将搜索到远程