本篇教程由作者设定使用 CC BY-NC-SA 协议。

一些同学经常会因为网络问题导致 mod / 插件构建缓慢,这篇文章将介绍几个方法来加速我们的构建流程。

1.加速 Gradle 的下载

有些开发者喜欢用 Gradle 来构建项目,这会让网络不好的同学在打开项目时就卡在缓慢的 Gradle 下载过程。对于这个情况,我们可以使用镜像站来加速下载。

用记事本打开项目下的  `gradle/wrapper/gradle-wrapper.properties` 文件,

找到 distributionUrl 这一行,它指定了 Gradle 的下载地址。默认情况下,这一行可能看起来像这样:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip

这里的 6.7 项目使用的 Gradle 版本号,因项目而异,以你自己的项目为准。

我们将这行地址修改为国内镜像站的地址,这里使用 Lss233's.Mirror() 为例:

distributionUrl=https\://lss233.littleservice.cn/repositories/gradle-dist/gradle-6.7-bin.zip

接下来就可以让编辑器重新下载 Gradle了。

除了上面的地址,你还可以使用下面的镜像站:

  • 阿里云镜像站:mirrors.aliyun.com/gradle/

  • 腾讯云镜像站:mirrors.cloud.tencent.com/gradle/

2. 加速依赖库的下载

每个项目都不可避免地依赖一些第三方库,这些第三方库通常又托管在各种各样的服务器上,下载速度参差不齐。

对于这个问题,我们有两种解决方法。

2.1 使用镜像站

镜像站将国外服务器的资源保存到了国内的服务器上,我们可以使用这些镜像站来加快下载速度。

 Lss233's.Mirror(); 是一个兼容 Gradle 和 Maven(其实他们用的是同一种目录格式) 的综合型镜像站,它聚合了常见的 MC 开发会依赖到的镜像站,所以你可以删掉别的镜像站,只写这一个。

在 Maven 中使用镜像站

打开pom.xml ,在 <repositories> ... </repositories> 代码块中加入:

<repository>
  <id> lss233-minecraft </id>
  <name> Lss233's Minecraft Repository </name>
  <url>http://lss233.littleservice.cn/repositories/minecraft</url>
</repository>

然后就可以把其他已经在本仓库中的 <repository> ... </repository> 删除啦。

在 Gradle 中使用镜像站

找到你项目的 build.gradle 和 settings.gradle (没有可忽略)文件,在 repositories { .... } 里面加入一行:

maven {
            url 'https://lss233.littleservice.cn/repositories/minecraft/'
}

然后就可以删掉其他和 mc 有关的镜像站了。


2.2 使用代理

如果你希望能够直连到官方的镜像站进行下载,那么你可以使用代理服务器。

Maven 代理配置

对于 Maven 项目,代理配置需要在 C:\Users\你的用户名\.m2\settings.xml 文件中设置。如果这个文件不存在,你需要手动创建它。以下是配置代理的示例:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              https://maven.apache.org/xsd/settings-1.0.0.xsd">
    <proxies>
        <proxy>
            <id>example-proxy</id>
            <active>true</active>
            <protocol>http</protocol>
            <host>代理服务器地址</host>
            <port>代理端口</port>
            <username>代理用户名</username> <!-- 如无需用户名则省略此行 -->
            <password>代理密码</password> <!-- 如无需密码则省略此行 -->
            <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
        </proxy>
    </proxies>
</settings>

Gradle 代理配置

Gradle 允许你在两个级别上配置代理:全局和项目级。

全局配置只需要设置一次,之后你电脑上所有的项目都会使用这个代理,它存储在 GRADLE_USER_HOME 目录下的 gradle.properties 文件中,通常这个目录是 ~/.gradle, 在 Windows 下是  C:\Users\你的用户名\.gradle 这个文件夹里(如果没有的话可以自己创建这个文件夹)

项目级则需要对于每个项目都单独配置,它存储在项目根目录下的 gradle.properties 文件中(没有的话也是自己创建)。

systemProp.http.proxyHost=代理服务器地址
systemProp.http.proxyPort=代理端口
systemProp.http.proxyUser=代理用户名 # 如无需用户名则省略此行
systemProp.http.proxyPassword=代理密码 # 如无需密码则省略此行
systemProp.https.proxyHost=代理服务器地址
systemProp.https.proxyPort=代理端口
systemProp.https.proxyUser=代理用户名 # 如无需用户名则省略此行
systemProp.https.proxyPassword=代理密码 # 如无需密码则省略此行