当前位置: 代码迷 >> java >> 试图为Android Gradle创建Java库的过程正在中断
  详细解决方案

试图为Android Gradle创建Java库的过程正在中断

热度:98   发布时间:2023-07-17 20:10:09.0

我正在尝试通过在android studio中创建一个小的库(即“ Java”库)来学习注释处理。 但是,当我创建一个新的Java库并尝试获取所有必需的依赖项(例如APT,Javax,google.auto)时,我遇到了麻烦。 是否有人对我应该做些什么有所了解/或在github上使用build.gradle注释处理库/应用程序的示例? 谢谢

错误(请记住,我的应用程序确实使用了Gradle提供的方法)

    Error:(24, 0) Gradle DSL method not found: 'provided()'
    Possible causes:<ul><li>The project 'MVPDagger2' may be using a version of Gradle that does not contain the method.
    <a href="open.wrapper.file">Open Gradle wrapper file</a></li><li>The build file may be missing a Gradle plugin.
    <a href="apply.gradle.plugin">Apply Gradle plugin</a></li>

如果我删除“提供”行,则会出现此错误...

Error:Cause: processor - provide a fully qualified proc class.

我的Gradle文件

apply plugin: 'java'
apply plugin: "com.ewerk.gradle.plugins.annotation-processor"

buildscript{
    dependencies{
        classpath "gradle.plugin.com.ewerk.gradle.plugins:annotation-processor-plugin:1.0.0"
    }

    repositories {
        maven {
            mavenLocal()
            mavenCentral()
            url "https://plugins.gradle.org/m2/"
        }
    }
}



dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile group: 'com.google.auto', name: 'auto-common', version: '0.4'
    provided 'org.glassfish:javax.annotation:10.0-b28'
}

这将使build.graddle起作用:

apply plugin: 'java'
//apply plugin: "com.ewerk.gradle.plugins.annotation-processor"

buildscript{
//    dependencies{
//        classpath "gradle.plugin.com.ewerk.gradle.plugins:annotation-processor-plugin:1.0.0"
//    }

    repositories {
        maven {
            mavenLocal()
            mavenCentral()
            url "https://plugins.gradle.org/m2/"
        }
    }
}



dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile group: 'com.google.auto', name: 'auto-common', version: '0.4'
//    provided 'org.glassfish:javax.annotation:10.0-b28'
}

任何帮助表示赞赏!

关于问题的第一部分。 要在构建脚本中使用provided范围,请首先声明它,例如:

configurations {
    provided
}

这是一篇有趣的文章: :

关于插件本身,似乎您缺少处理器的配置部分,例如:

annotationProcessor {
  library "com.querydsl:querydsl-apt:4.0.0"
  processor "com.querydsl.apt.morphia.MorphiaAnnotationProcessor"
  sourcesDir "src/morphia/java"
}

摘自项目页面的内容: :

  相关解决方案