当前位置: 首页 > 知识库问答 >
问题:

kapt插件不能与gradle-script-kotlin一起工作

乐正浩博
2023-03-14

我想将我的基于vertx的项目移到https://github.com/sczyh30/vertx-blueprint-microservice.git模板。blueprint项目使用annotations@vertxgen等在编译期间生成代码。

import org.jetbrains.kotlin.gradle.plugin.* // kaptExtension
...
apply {
  plugin("kotlin-kapt")
}
...

fun Project.kapt(setup: KaptExtension.() -> Unit) = the<KaptExtension>().setup()

kapt {
        generateStubs = true

        javacOptions( closureOf<KaptJavacOptionsDelegate> {
                option("-proc:only")
                option("-processor", "io.vertx.codegen.CodeGenProcessor") // vertx processor here
                option("-AoutputDirectory", "${projectDir}/src/main")
                option("-Acodegen.output", "${projectDir}/src/main")
        } )

        // specify output of generated code
        arguments( closureOf<KaptAnnotationProcessorOptions> {
                arg("destinationDir", "${buildDir}/generated/source/kapt/main")
        } )
}
...
java {
...
        sourceSets.getByName("main").java.srcDirs("${project.buildDir}/generated/source/kapt/main")
}

共有1个答案

郭修平
2023-03-14

我不得不在build.gradle.kts中添加以下内容

dependencies {
....
        kapt("io.vertx:vertx-codegen:$vertx_version:processor")
...
}

但还是不知道为什么。在这里发帖让别人知道。

 类似资料:
  • 当我创建RoboVM Eclipse项目时,Eclipse给了我一个例外: 同样,当我尝试转到“设置”>“RoboVM”时,我也会得到这样的消息:

  • TranslationFoldingBuilder.kt 我的问题是,对于Kotlin文件,根本没有调用buildFoldRegions()。

  • 我有一个复杂的问题,请阅读-我想用我的框架运行范围报告,这个框架是用cucumber,testng和Java创建的。 我正在运行testng文件来运行测试类文件,该文件最终将运行@CucumberOptions和添加在其中的特性。 现在我想在我的框架中实现范围报告。你能告诉我如何使用插件来添加日志,就像在功能文件中添加的cucumber语句一样。 ps:我浏览了一些链接,它告诉我如何使用@Afte

  • 我将Micronaut框架用于一个项目,Micronaut CLI使用gradle插件生成项目,当我使用- Build.Gradle- 问题是插件由于某种原因无法与Jenkins合作 <罢工> 我怀疑它在我们的公司回购中是不存在的(也不能添加) 。虽然我能够使用插件的任务创建一个可执行的fat-jar,但它失败了,错误如下- 主要问题是为什么插件不能与企业存储库一起工作?

  • 根据它的Javadoc,将生成,其中的第一个值是subscribe和第一个next信号之间的经过时间。 以下测试不起作用 它将抛出异常: 我原以为经过的时间至少是1000ms,但结果只有11ms。

  • 具有Gradle设置的Kotlin项目: 将基准置于src/main/kotlin之下是没有问题的。 但当我为JMH添加自定义源代码集时: 并将基准从src/main/kotlin移动到src/jmh/kotlin,执行基准失败: 看起来kaptJmhKotlin什么都没做: 知道如何解决这个问题吗?