我想实现一个编译一些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