生成项目:大量下载

Generate Project: HUGE downloads

我使用 Libgdx 项目生成器创建了我的第一个 LibGDX 项目。然后我在 IntelliJ 中打开项目,它要求我在 build.gradle 文件中索引存储库。有问题的远程存储库是:

总共有 5 到 6 GB 的东西,intelliJ 很高兴地开始下载。因为它需要很长时间才能完成,所以我开始浏览其中的一些存储库。通常使用像 gradle 这样的回购管理器的要点是,对于您正在使用的库,您不会下载整个东西,只下载您需要的部分 。然而,sonatype snapshots and releases 充满了大量的文件和许许多多不同的 versions/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"
}

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

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

正在索引 Maven 存储库

maven 存储库由工件和这些工件的不同版本组成。我的猜测是,当像 IntelliJ 这样的 IDE 读取远程存储库时,它将创建一个单独的本地 cache/mini 库名称数据库+机器存储库中可用的版本。那是索引部分。这使得搜索库 names/latest 版本等的速度快得多,因为现在是在您的计算机上查询索引而不是每次都访问存储库。

它没什么大不了的,不会影响你的构建,但你的 IDE 只是告诉你,每当它寻找 version/dependency 名称(在自动完成等期间)时,它必须上网并检查这些详细信息(而不是只检查本地缓存)。

  • 索引的优势——搜索速度
  • 缺点 - 您必须确保索引保持最新,否则您将无法始终获得最新的搜索结果(新版本等),下载 5 到 6 GB 也很痛苦。

您可以禁用此通知,如果需要,请单击“禁用”:

Unindexed remote maven repositories found. Disable...

或 Mac OSX 转到

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

保留未索引的远程 maven 仓库,每次如果在本地仓库中找不到具有特定版本的工件,那么它会搜索到远程。