记录和问题

记录

在 build.gradle.kts 添加 maven 仓库

1
2
3
4
5
6
repositories {
maven {
url = uri("https://mirrors.cloud.tencent.com/nexus/repository/maven-public/")
// 或者 setUrl("http://maven.aliyun.com/nexus/content/groups/public/")
}
}

配置 maven 镜像加速地址

单个项目生效,在项目中的 build.gradle 修改内容

1
2
3
4
5
6
7
allprojects {
repositories {
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
}
}

配置全局加速

在 Gradle 的配置文件为用户根目录下的:~/.gradle/init.gradle(Windows路径为:C:\Users\<UserName>\.gradle\init.gradle)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
allprojects{
repositories {
maven {
url 'https://repo.huaweicloud.com/repository/maven/'
}
}
buildscript {
repositories {
maven {
url 'https://repo.huaweicloud.com/repository/maven/'
}
}
}
}

gradle 引入本地 jar 包

1
2
3
dependencies {
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
}

kotlin dsl 插件地址

org.jetbrains.kotlin.jvm : org.jetbrains.kotlin.jvm.gradle.plugin - Maven Central Repository Search
https://search.maven.org/artifact/org.jetbrains.kotlin.jvm/org.jetbrains.kotlin.jvm.gradle.plugin

‘compileJava’ task (current target is 19) and ‘compileKotlin’ task (current target is 1.8)

将两者版本改为一致即可

1
2
3
4
5
6
7
8
plugins {
application
kotlin("jvm") version "1.8.0"
}

tasks.withType<KotlinCompile> {
compilerOptions.jvmTarget.set(JvmTarget.JVM_1_8)
}

问题

Use ‘–warning-mode all’ to show the individual deprecation warnings

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use ‘–warning-mode all’ to show the individual deprecation warnings.

Just create(open) a file called gradle.properties in your root project. Then add inside that file:
org.gradle.warning.mode=all

Gradle 编译设置编码格式

在 build.gradle 文件中添加如下信息:

1
2
3
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}

或者 build.gradle.kts

1
2
3
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
}

上面这个解决办法虽然有效,但是对于每个 Gradle 项目都需要插入这么一段,很麻烦。还有一种办法可以一劳永逸的指定编码,那就是使用环境变量。在 Windows下,新建 GRADLE_OPTS 环境变量,值为 -Dfile.encoding=utf-8。然后新开一个终端窗口再次使用 gradle 命令,就会发现这下 Gradle 已经可以正确识别编码了。

或者 help -> edit custom vm options,加上 -Dfile.encoding=utf-8,最后重启 idea。

或者在 gradle 安装目录下的 /bin 文件夹中的 gradle 和 gradle.bat 更改配置:DEFAULT_JVM_OPTS 加上 “-Dfile.encoding=utf-8”

关于 Gradle 7.0 及以上版本报 Https 的错误的解决方案

为了安全,需要要升级成 Https,修改的方式有两种。

一种是将 maven 的 http 修改成为 https。

另一种是忽略警告,在 maven 中添加 allowInsecureProtocol,比如:

1
2
3
4
maven {
allowInsecureProtocol = true
url 'http://developer.huawei.com/repo/'
}