我一直在尝试重新编写一些代码以兼容Gradle 5.1。我现在用的是4.10下面的代码块是我复制的(大部分),所以老实说,我不是100%确定它的作用,对gradle来说还是相当新的。下面是代码
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,
导致以下错误
无此类属性:类的absolutePath:org.gradle.API.internal.file.collections. DefaultFileCollection
所以我正在寻找替代方案(或语法更新)
2条答案
按热度按时间tyu7yeag1#
似乎我通过改变以下内容来修复它
一切似乎都在按预期进行
tyu7yeag2#
对于Gradle 8.2,请使用以下命令: