为什么 gradle 试图用空格作为最后一个字符来解决否认?



我有点好奇为什么gradle的行为方式以及如何避免它。我们在gradle.properties中配置依赖项的版本。例如:

batikVersion = 1.8

然后,我们通过以下方式build.gradle使用此定义的版本:compile group: "org.apache.xmlgraphics", name: "batik-transcoder", version: "${batikVersion}"

一切正常,直到我们插入一个空格作为蜡染版的最后一个字符。所以它变成了: "蜡染版本 = 1.8 ">

现在 gradle 说它找不到依赖项,因为没有"1.8"。为什么没有删除用于解决依赖关系的空间,我们如何避免此类错误?

gradle.properties文件是普通的 Java 属性文件。当 Java 读取属性文件时,它将忽略前导空格,但不忽略尾随空格。这可能是因为有时您可能希望实际上在末尾提供一个带有空格的字符串(尽管我从不需要它(。

您可能会争辩说,Gradle 可以对你提供给依赖项的值执行.trim()。如果您认为它很有价值,可以在 Gradle 问题列表中创建功能请求。但除此之外,避免它的方法是停止在您的属性文件中制作拼写错误:)

最新更新