gradle linux 绝对路径

来源:互联网 发布:shell脚本编程教程 编辑:程序博客网 时间:2024/06/15 17:30

有以下 gradle 打包脚本版本:

subprojects {

applicationDistribution.from('/src/main/resources/') {
        into 'conf'
    }

}


这段的意思是,将当前父工程的各个子工程下面的  src/main/resources/ 这个目录下所有文件放到各个子工程打包的 conf 目录下。

在 windows 下可以正常工作,打包正常。但是在 linux 下,发现 resouces 目录下的文件并没有拷贝到 conf 下。

猜测可能是 linux 将 /src/main/resouces 当成了系统的绝对路径了,而不是基于各个子工程目录的 src/main/resources。

为验证猜想,在脚本中增加以下命令打印其绝对路径 :

File configFile = file('/src/main/resources/')
println configFile.absolutePath
发现确实是系统的绝对路径。

为了通用性,最后的解决方法是将上面的 src 前面的斜杠去掉,即

subprojects {

applicationDistribution.from('src/main/resources/') {
         into 'conf'
     }

}




原创粉丝点击