使用gradle构建java项目,如何在build文件中使用变量

最近在打包发布的时候遇到了一个问题,项目中有很多资源是在工程目录外的,而且好几个工程都用这一份资源。
在build.gradle中我用sourceSet指定了资源目录,然后再代码中用classLoder.getresource获取文件内容。
然后就产生了问题,因为我写代码和发布不在一个环境,发布要在linux上,那我不想每次都修改build文件,怎么才能在gradle.build的时候或者在build文件中使用变量呢。

apply plugin: 'java'

sourceSets {
     main {
         java{
            srcDir "src"
         }
         resources {
             srcDir 'resource'
             srcDir'D:/demo/server/resource/xml'
             srcDir 'D:/demo/server/resource/sensitive'
         }
     }
 }

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

dependencies {
    compile fileTree(dir: '../resource/libs', include:  '*.jar')
}

build{
    doLast {
        copy {
            from('build/libs') {
                      include('*.jar')
                        }
                        into('../../release/bin')
        }
    }
}
LEATH
浏览 460回答 3
3回答

跃然一笑

Gradle 用的是Groovy语言,加一些DSL, Groovy几乎完成兼容Java, 所以如果你会Java(既然是java项目), 你完全可以在build.gradle里用你所会的java全部技能,按java语法声明和使用变量即可

萧十郎

问问android同学,怎么build的出debug-apk和release-apk的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java