Results 11 comments of thetcc

+1 我还以为就我有问题,还给作者发了邮件

@Bpazy @ghoslin01 我也出现和你们一样的问题,看了下源代码,发现是包名的问题,如果你的类没有包名就会出这个错,有包名就不会出错。 ``` public static String getPackage(PsiClass cls) { if (cls.getQualifiedName() == null) { return null; } int i = cls.getQualifiedName().lastIndexOf("."); return cls.getQualifiedName().substring(0, i); } ``` 修改成 ``` public...

> 我猜你的接口做javac编译的时候没有指定-parameters参数 被你说中了,是没加。但@Cached作用在实现类上是可以的,是不是作用在实现类上就不用加-parameters参数了。

> 注解在接口上或者在类上都可以,但都需要-parameters参数,否则你编译出来的class文件里面没有参数名称,就无法工作了。 我没加-parameters 时,如果注解作用在实现类上,缓存是正常工作的。只是加在接口上时无法生效。

> 你的接口和实现类编译设置不一样吧,或者行参名称也可以不一样 一样的,我只是把注解挪了一个地方。其他没有任何改动。参数名称也是一样。

> 那你得给出一个可以重现的案例了,要完整的,可运行的 就是上面开头的例子,我在本地idea中运行,只要把注解从接口换到实现类,就能走缓存,命中缓存。

> 我猜你的接口做javac编译的时候没有指定-parameters参数 应该是这个问题,不过我作用在接口上确实是有效的。

> 我有全球的 @anhao 方便共享下吗

> 意思是说每行匹配到指定字符,就自动高亮吗? 是的。 有时候我们需要对特定字符突出显示,但又不是编程语言的关键字。所以对自定义的字符高亮,我感觉也是有这个需求的。