微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gradle在编织AspectJ时添加子模块Src路径[ant:iajc] [错误]构建配置错误:错误的sourceroot:/ Users / abcd / mainApp / src / main / java

如何解决Gradle在编织AspectJ时添加子模块Src路径[ant:iajc] [错误]构建配置错误:错误的sourceroot:/ Users / abcd / mainApp / src / main / java

我为具有以下结构的Java项目设置了多模块。

mainApp
|--> core-module
|       |--> src
|       |--> build.gradle
|       
|--> lib-module
|       |--> src
|       |--> build.gradle
|--> lib-another-module
|       |--> src
|       |--> build.gradle
| 
|--> settings.gradle
|--> build.gradle
|--> gradle.properties

在我提到的mainApp/build.gradle

compileJava {
    //dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true,"compileJava")

    doLast{
        ant.taskdef( resource:"org/aspectj/tools/ant/taskdefs/aspectjtaskdefs.properties",classpath: configurations.ajc.asPath)

        ant.iajc(
                maxmem: "1024m",fork: "true",Xlint: "ignore",destDir: sourceSets.main.output.classesDirs.asPath,aspectPath: configurations.aspects.asPath,sourceRootcopyFilter: "**/.svn/*,**/*.java",classpath: configurations.compile.asPath,source: project.sourceCompatibility,target: project.targetCompatibility
        ){
            sourceroots{
                sourceSets.main.java.srcDirs.each{
                    pathelement(location:it.absolutePath)
                }
            }
        }
    }
}

我收到[ant:iajc] [error] build config error: bad sourceroot: /Users/abcd/mainApp/src/main/java错误消息

如何将sub-module src指向sourceroots{}

解决方法

我可以解决问题。基本上我的根项目没有任何源代码(它只是父Gradle模块容器),因此需要从sourceRoots

中省略
sourceroots{
    sourceSets.main.java.srcDirs.each{
        if(!it.absolutePath.contains("/src/main/java")) {
             pathelement(location: it.absolutePath)
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。