gpt4 book ai didi

grails - 在Groovy中访问注释时出现IncompleteAnnotationException

转载 作者:行者123 更新时间:2023-12-02 15:39:05 25 4
gpt4 key购买 nike

我定义了一个注释如下

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

/**
* Annotation for any object that exposed a remote interface
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Remote {
String label()
}

我正在尝试以这种方式使用它
import com.yascie.annotation.Remote

@Remote("Bar")
class Foo {
String name
String value
static String code
}

我不断收到错误消息,指出注释缺少元素标签
java.lang.annotation.IncompleteAnnotationException: Remote missing element label

现在,当我尝试检查注释对象时,我可以看到通过代理可以使用标签方法,但是我无法访问它。有任何想法吗 ?
Remote annotation = objectClass.clazz.getAnnotation(Remote.class);
annotation.metaClass.methods.each {println it}

public final java.lang.String $Proxy14.label()
  • ken
  • 最佳答案

    您有两个选择。如果要使用@Remote("Bar")语法,则需要将label()方法更改为value(),因为这是未指定名称时注释的默认属性的方法名称。

    如果您希望将其称为label(),请将其指定为@Remote(label="Bar")

    关于grails - 在Groovy中访问注释时出现IncompleteAnnotationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3723945/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com