繁体   English   中英

在Kotlin中使用注释处理器

[英]Use annotation processor in kotlin

我在处理器中有一个简单的注释,如下所示:

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.TYPE) @Retention(RetentionPolicy.CLASS)
public @interface BundleBuilder
{
    // ...
}

这在Java文件中有效,但是一旦我将文件转换为kotlin,注释的导入就不再起作用。 为什么?

在此处输入图片说明

为了使他的注释也可以在kotlin中工作,我需要更改什么? 从文档中我可以看到kotlin与Java注释100%兼容,所以我有点困惑,这是什么问题...我会理解处理器是否无法正常工作,需要进行调整才能与kotlin一起使用,但是我不知道为什么导入本身不起作用...

我正在谈论的图书馆在这里: https : //github.com/MFlisar/BundleArgs

我认为您应该在build.gradle使用kapt进行注释处理。 毕竟,要清理并重建项目。

apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

//...

dependencies {
    compileOnly 'com.github.MFlisar.BundleArgs:bundleargs-annotation:1.3'
    kapt 'com.github.MFlisar.BundleArgs:bundleargs-processor:1.3'
}

repositories {
    maven { url "https://jitpack.io" }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM