Intellij IDEA 在 gradle-wrapper.properties 文件中用 'ı' 的 ASCII 覆盖 'i' 字符
Intellij IDEA overwrites 'i' character with ASCII of 'ı' in gradle-wrapper.properties file
有一个奇怪的问题,我不确定它的来源。
我正在使用 Intellij IDEA (2016 3.3) 和 Gradle (v3.3)。我用Windows10,土耳其语OS.
Gradle 有一个包装属性文件。 (./gradle/wrapper/gradle-wrapper.properties)
该文件的内容,由Gradle生成:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-bin.zip
当我在 Intellij 中打开一个 Gradle 项目时,该文件的最后一行变成了:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-b\u0131n.zip
Intellij 将 bin
覆盖为 b\u0131n
。我查了一下\u0131
指的是什么,是'ı'字母的ASCII码。
并且因为 URL 坏了,我无法构建项目。
该文件中有很多 'i' 字母(未提及整个项目),但 Intellij 以某种方式将 'bin' 中的特定 'i' 转换为 'ı' 的 ASCI .
我有这个问题很久了,但是当我尝试手动更正字母时,Intellij 第一次坚持覆盖它。这次唯一的区别是我创建了一个包含多个模块的项目,这意味着有多个 gradle-wrapper.properties 文件。
你们知道为什么以及如何解决这个问题吗?
经过一番研究,我找到了错误的来源,它不是 Intellij IDEA,而是 Gradle。
@Input
public String getDistributionUrl() {
if (distributionUrl != null) {
return distributionUrl;
} else if (gradleVersion != null) {
return locator.getDistributionFor(gradleVersion, distributionType.name().toLowerCase()).toString();
} else {
return null;
}
}
toLowerCase() 方法在这里使用我的语言环境 (tr-TR) 所以 "BIN".toLowerCase() 的输出是 "bın".
我在 Gradle-dev Google 组中添加了一个 issue 并提出了解决方案。
在build.gradle中添加;
task wrapper(type: Wrapper) {
gradleVersion = '3.3'
distributionUrl = "https://services.gradle.org/distributions/gradle-${gradleVersion}-all.zip"
}
帮我解决了。
查看 here 了解更多信息。
有一个奇怪的问题,我不确定它的来源。
我正在使用 Intellij IDEA (2016 3.3) 和 Gradle (v3.3)。我用Windows10,土耳其语OS.
Gradle 有一个包装属性文件。 (./gradle/wrapper/gradle-wrapper.properties)
该文件的内容,由Gradle生成:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-bin.zip
当我在 Intellij 中打开一个 Gradle 项目时,该文件的最后一行变成了:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-b\u0131n.zip
Intellij 将 bin
覆盖为 b\u0131n
。我查了一下\u0131
指的是什么,是'ı'字母的ASCII码。
并且因为 URL 坏了,我无法构建项目。
该文件中有很多 'i' 字母(未提及整个项目),但 Intellij 以某种方式将 'bin' 中的特定 'i' 转换为 'ı' 的 ASCI .
我有这个问题很久了,但是当我尝试手动更正字母时,Intellij 第一次坚持覆盖它。这次唯一的区别是我创建了一个包含多个模块的项目,这意味着有多个 gradle-wrapper.properties 文件。
你们知道为什么以及如何解决这个问题吗?
经过一番研究,我找到了错误的来源,它不是 Intellij IDEA,而是 Gradle。
@Input
public String getDistributionUrl() {
if (distributionUrl != null) {
return distributionUrl;
} else if (gradleVersion != null) {
return locator.getDistributionFor(gradleVersion, distributionType.name().toLowerCase()).toString();
} else {
return null;
}
}
toLowerCase() 方法在这里使用我的语言环境 (tr-TR) 所以 "BIN".toLowerCase() 的输出是 "bın".
我在 Gradle-dev Google 组中添加了一个 issue 并提出了解决方案。
在build.gradle中添加;
task wrapper(type: Wrapper) {
gradleVersion = '3.3'
distributionUrl = "https://services.gradle.org/distributions/gradle-${gradleVersion}-all.zip"
}
帮我解决了。
查看 here 了解更多信息。