我在一个类上有以下Java注释(这是一个myBatis插件):
@Intercepts({ @Signature(type = ResultSetHandler.class, method = "handleResultSets", args = (Statement.class)) })
public class MyResultSetHandlerPlugin implements Interceptor {
//do stuff...
}
在Eclipse中可以正常编译和工作,但是当尝试运行Ant构建脚本时,我得到以下错误:
[javac] C:CLIP_PoCsrccomlmigamclaimsclipMyPResultSetHandlerPlugin.java:27: annotation value must be a class literal
[javac] @Intercepts({ @Signature(type = ResultSetHandler.class, method = "handleResultSets", args = (Statement.class)) })
[javac] ^
[javac] 1 error
我已经尝试完全限定注释中使用的类,但这导致了相同的错误。你知道我做错了什么吗?
谢谢。
如果您试图传递一个项目数组作为注释参数,则需要使用花括号而不是圆括号来指示该项目是一个数组。
@Intercepts({ @Signature(type = ResultSetHandler.class, method = "handleResultSets", args = {Statement.class}) })