重新编写gradle代码以与5.1兼容

时间:2019-01-11 16:56:11

标签: java hibernate gradle

我坚持尝试重新编写一些与gradle 5.1兼容的代码。我目前正在使用4.10。下面的代码块是我复制的(大多数情况下)用于休眠的代码,所以说实话,我不确定100%的功能是什么,仍然相当陌生。这是下面的代码

    doLast{
        ant.taskdef( resource:"org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", classpath: configurations.ajc.asPath)
        ant.iajc(
            source: sourceCompatibility,
            target: targetCompatibility,
            Xlint: "ignore",
            destDir: sourceSets.main.output.classesDir.absolutePath, 
            maxmem: "1024m",
            fork: "true",
            aspectPath: configurations.aspects.asPath,
            sourceRootCopyFilter: "**/.svn/*,**/*.java",
            classpath: configurations.compile.asPath
        ){
            sourceroots{
                sourceSets.main.java.srcDirs.each{
                    pathelement(location:it.absolutePath)
                }
            }
        }
    }

有问题的代码是以下行

destDir: sourceSets.main.output.classesDir.absolutePath,

因为它引发以下错误

  

对于类型为org.gradle.api.internal.tasks.DefaultSourceSetOutput的主类,无法获取未知属性'classesDir'。

将代码更改为

destDir: sourceSets.main.output.classesDirs.absolutePath,

导致以下错误

  

没有此类属性:类的绝对路径:org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection

所以我正在研究替代方法(或语法更新)

1 个答案:

答案 0 :(得分:0)

好像我通过更改以下内容来解决了

destDir: "build/classes",

一切似乎都按预期进行