Java 我可以根据被注释字段的类型生成编译时错误吗

Java 我可以根据被注释字段的类型生成编译时错误吗,java,annotations,Java,Annotations,我编写了一个java注释,如下所示: @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) // can I further limit this to only fields of type DomainObject? public @interface Owns { } 环顾四周后,我看不出是否有办法进一步限制此注释的使用,以便仅对特定类型的字段进行注释。此注释是我们域的自定义注释,只能用于基本域对象类的实例 有人知

我编写了一个java注释,如下所示:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)  // can I further limit this to only fields of type DomainObject?
public @interface Owns {
}
环顾四周后,我看不出是否有办法进一步限制此注释的使用,以便仅对特定类型的字段进行注释。此注释是我们域的自定义注释,只能用于基本域对象类的实例

有人知道如何在编译时强制执行吗


谢谢你的帮助

我认为这在编译时是不可执行的-如果您想确保它不在任何不合适的字段上,您必须在运行/加载时进行检查

您可能会在中发出错误(如果您需要Java 5支持,则必须使用)。您可以使用从passed to init获得的


这有多有效可能取决于您的工具链。如果您使用通过命令行或通过构建脚本进行编译,则应该可以。在我的Eclipse版本中,我必须为项目手动启用注释处理器(通过项目设置),错误不会出现在任何明显的地方。(如果您想提供自定义支持,注释插件确实有扩展点,可以更好地与IDE集成。)检查常用工具是值得的,特别是如果您需要支持任意开发环境。

这就是我要查找的信息。我会深入研究,看看是否值得增加这些支票。谢谢