代码之家  ›  专栏  ›  技术社区  ›  Jordi

Gradle:无法获取主类的未知属性“classesDir”

  •  0
  • Jordi  · 技术社区  · 7 年前

    根据 documentation ,我尝试使用aspectj插件。

    这是我在构建项目时得到的信息。

    FAILURE: Build failed with an exception.
    
    * Where:
    Build file '/home/jesudi/projects/gradle-vscode/build.gradle' line: 22
    
    * What went wrong:
    A problem occurred evaluating root project 'security'.
    > Failed to apply plugin [id 'aspectj.gradle']
       > Could not create task ':compileAspect'.
          > Could not get unknown property 'classesDir' for main classes of type org.gradle.api.internal.tasks.DefaultSourceSetOutput.
    

    buildscript {
        repositories {
            mavenCentral()
            maven {
                url "https://plugins.gradle.org/m2/"
            }
        }
        dependencies {
            classpath "org.apache.meecrowave:meecrowave-gradle-plugin:1.2.6"
            classpath "gradle.plugin.aspectj:gradle-aspectj:0.1.6"
        }
    }
    
    plugins {
        id 'java'
    }
    
    project.ext {
        aspectjVersion = '1.9.2'
    }
    
    apply plugin: 'aspectj.gradle'
    apply plugin: "org.apache.microwave.microwave"
    
    java {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }
    
    dependencies {
        compile("org.apache.meecrowave:meecrowave-core:1.2.6")
        compile("org.apache.meecrowave:meecrowave-specs-api:1.2.6")
    }
    
    meecrowave {
        httpPort = 9090
        // most of the meecrowave core configuration
    }
    

    这就是 gradle -version 输出:

    ------------------------------------------------------------
    Gradle 5.1.1
    ------------------------------------------------------------
    
    Build time:   2019-01-10 23:05:02 UTC
    Revision:     3c9abb645fb83932c44e8610642393ad62116807
    
    Kotlin DSL:   1.1.1
    Kotlin:       1.3.11
    Groovy:       2.5.4
    Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
    JVM:          11.0.2 (Oracle Corporation 11.0.2+9)
    OS:           Linux 4.15.0-20-generic amd64
    
    1 回复  |  直到 7 年前
        1
  •  17
  •   adiga    6 年前

    在Gradle 5.x中,此属性已重命名为 classesDirs classesDir

    here

        2
  •  7
  •   MaCoda    6 年前

    可能你的插件不是问题的根源,但Gradle的版本是。 我第一次在libgdx游戏(androidstudio)中遇到同样的错误。

    from files(sourceSets.main.output.classesDirs)
    
        3
  •  4
  •   JB Nizet    7 年前

    这个 classesDir 属性在gradle 4.x中被弃用,在gradle 5.x中被删除(参见 release notes ).

    这个插件显然没有被维护。

        4
  •  0
  •   David Ha    5 年前
    推荐文章