我想實現一個編譯一些java類並將其複製到tomcat目錄的gradle構建腳本。我不想使用Gradle Java插件,因爲它有很多不相關的東西。我想定義自己編譯的&部署任務。我已經實現它如下 -編譯任務運行成功但不生成任何類文件
task compile (type: JavaCompile) {
source = fileTree('$srcdir')
destinationDir = file('$builddir')
classpath = files('lib')
sourceCompatibility = '1.8'
}
task deploy (type: Copy) {
dependsOn compile
from fileTree('build') {
include fileTree('classes')
}
from fileTree('lib') {
include '*'
}
into '${tomcathome}//${projectname}'
}
我還沒有觸及部署任務呢。當我運行編譯任務時,它運行成功,但不生成任何類文件。我期待它在/ build目錄下生成。
請建議。
感謝
使用時您需要使用的GString「」和$ buildDir – LazerBanana
同樣的問題爲''$ srcdir''變量。我不知道你在哪裏指定'srcdir',但是你不能用一個簡單的String(單引號)來使用它,因爲這樣它總是會被解釋爲字面位置(一個名爲'$的子文件夾srcdir'在這種情況下)。您需要使用GString(雙引號),正如@LazerBanana所述。或者你可以只使用變量而不是將其包裝到GString中:'fileTree(srcdir)' –
感謝您的輸入。這個字符串字面意義的確幫助我解決了我的問題。我期待在gradle.properties中配置這些參數 - srcdir,builddir和其他類似的參數。這些文件與我的build.gradle位於同一圖層,但如果在gradle.properties中配置,則無法獲取參數的值。在開始構建任務之前,我是否需要做其他的事情來讓gradle加載這個屬性文件? – Techie