如果你用的不是idea,且编译后的文件中有切面类class文件,请移步其他回答。
如果没有,恭喜,你和我的问题是一样的。
解决方法,确认一下file-settings-搜索 Java Compiler 看看Use complier是不是javac,如果不是,改成javac。idea认为你这个项目是aspectj项目的时候会把编译器改成ajc,坑。
然后!!!切面类一定不要用Aspect结尾!!不然编译后没有class文件,自然也就没法织入切面。据我猜测,该问题在于编译过程中,idea根据后缀认为这个类不应当由javac来编译,然后也没用其他的编译器(或者使用了但是失败了),导致这个类没有编译。
希望有大佬能从源码上解答一下这个问题的根源!!感谢!
当IDEA中遇到编译后缺少切面类class文件的问题,可能是因为项目被误识别为AspectJ项目,导致编译器被设置为了ajc。解决方法是检查File -> Settings -> Java Compiler,确保Use compiler设置为javac。此外,切面类不应以Aspect结尾,因为IDEA可能根据后缀避免使用javac编译,从而导致编译失败。理解这一问题的根源仍有待深入研究。
20万+





