SpringBoot結合LoadTimeWeaver、AspectJ創建切面問題(addTransformer(),NoSuchMethodException:aspectOf())

1.問題描述:java.lang.IllegalStateException: ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument.jar

解決方法:通過JVM-javaagent 參數設置LTW(LoadTimeWeaver)的織入器類包,以代理JVM默認的類加載器。啓動SpringBoot應用時,需要指定JVM Argumengs來替換掉其默認類加載器。

STS(或Eclipse)中設置:Eclipse->Windows->Preferences->Java->Installed JRE->選擇對應JRE->Edit->將-javaagent:C:\Users\lib\spring-instrument-5.1.5.RELEASE.jar 填寫到Default VM arguments.

2.問題描述:Caused by: java.lang.NoSuchMethodException: com.demo.aop.ActivityEventAspect.aspectOf()。

解決方法:同問題1步驟,需在Default VM arguments中添加jar包默認啓動:-javaagent:C:\Users\lib\aspectjweaver-1.9.2.jar.其會在類加載時,將aspectOf()等方法加載到對應的切面類中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章