Gradle构建时的文件路径问题

问题场景:

在gradle编译时,我们常常将一个配置文件放置在项目的根目录下

但是某个子moudle的build.gradle需要访问根目录下的配置文件

比如下面下图这个代码结构

我们希望在app这个moudle的build.gradle中访问根目录下的conf/conf.file

尝试编写如下代码

​
task testPath {

    File configFile = file 'conf/conf.file'

    System.out.println(configFile.getAbsolutePath())

}

​

输出  D:\GradlePathDemo\app\conf\conf.file

最终发现输出的并不是想要的路径 而是app下的路径

解决方法

1:使用相对路径方式

task testPath {

    File configFile = file '../conf/conf.file'

    System.out.println(configFile.getAbsolutePath())

}

如上述代码

../ 

表示当前目录的上层目录,这样就可以找到根目录下的src/config,如果一层不够,可以再加一个相同的符号再往上一层

比如

../../ 

2:使用绝对路径方式

task testPath {

    File configFile = new File('src/config.cson');

    System.out.println(configFile.getAbsolutePath())

}

注意 configFile 的创建方式跟相对路径方式下的区别

发布了24 篇原创文章 · 获赞 3 · 访问量 6137

猜你喜欢

转载自blog.csdn.net/binghelonglong123/article/details/90081391