2

我有这样一条线

file("c:/Program Files")

我得到了错误

> java.net.URISyntaxException: Illegal character in path at index 10: c:/Program Files

如何在文件名中包含空格?

更新

这是精确的错误和 Gradle 代码。

错误:

* Where:
Script '.../gradle/tsp.gradle' line: 9

* What went wrong:
A problem occurred evaluating script.
> java.net.URISyntaxException: Illegal character in path at index 10: c:/Program Files

代码(此代码的最后一行是第 9 行,其余代码省略):

/*
 * Code for Tom Sawyer Perspectives automation.
 */


project.ext {
    tspSearchPath = files(
        // For some Windows boxes, users may use this dir
        file("c:/Program Files"),

需要明确的是,我在 Windows 上运行 Gradle 时没有收到错误消息。在 Mac 上运行 Gradle 时出现错误。我有一个搜索所有平台的路径列表,并且不想在每个平台的基础上更改列表(尽管这可能是我将来学习更多 Gradle 和 Groovy 后会做的事情)。

但是,空格处有错误,Mac 支持文件名中的空格。Gradle 的文件方法是否支持 Mac 上的空格?它在 Windows 上。如果它在 Mac 上,我如何在文件名中包含空格?

4

2 回答 2

2

我在 Gradle 1.8 上尝试过,这段代码运行良好:

apply plugin: 'java'
File x = file("C:/Program Files")
println x.getAbsolutePath();
于 2013-11-04T16:16:18.763 回答
0

以下作品

new File("c:/Program Files")

这使用 Java File 类而不是 Gradle DSL 文件方法。

于 2013-11-04T15:33:05.427 回答