Intellij IDEA用gradle-wrapper.properties文件

时间:2017-02-14 08:33:16

标签: intellij-idea gradle character-encoding gradlew intellij-idea-2016

有一个奇怪的问题,我不确定它的来源。

我正在使用Intellij IDEA(2016 3.3)和Gradle(v3.3)。我使用Windows 10,土耳其语操作系统。

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文件。

你们有谁知道为什么以及如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

经过一些研究,我发现了这个bug的起源,而不是Intellij IDEA,而是Gradle。

Max_Rev = _
DMax("[Rev#]", "SCR_Run", _
"[JobNumber]=" & Me.JobNumber & " AND [Department]=" & Me.Department)

https://github.com/gradle/gradle/blob/master/subprojects/build-init/src/main/groovy/org/gradle/api/tasks/wrapper/Wrapper.java#L314

这里的

toLowerCase()方法使用我的语言环境(tr-TR),因此“BIN”.toLowerCase()的输出是“bın”。

我在Gradle-dev Google小组中添加了issue并提出了解决方案。

答案 1 :(得分:1)

在build.gradle中,添加;

{{1}}

为我解决了。

检查here以获取更多信息。