首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Spring AOP 點錯誤排查:invalidAbsoluteTypeName 實為類名拼寫錯誤

     編輯:Java 綜合教學

錯誤現象

Caused by: java.lang.IllegalArgumentException: 
warning no match for this type name: 
com.xxx.collector.service.impl.XxxServiceImpl [Xlint:invalidAbsoluteTypeName]

根因分析

在 @Pointcut 運算式中,類名拼寫錯誤導致 AspectJ 無法匹配到目標類:

// 錯誤示範
@Pointcut("execution(* com.xxx.collector.service.impl.XxxServiceImpl.add(..))")
public void pointcutExpression() {}

解決方案

  1. 檢查目標類的完整包名 + 類名是否與切點運算式完全一致
  2. 注意大小寫、拼寫、包路徑層級
  3. 建議:從 IDE 複製完整類名(Ctrl+Shift+C 複製參考路徑)貼入切點運算式

避坑提醒

  • 首次使用 AOP 時極易犯此低級錯誤
  • 切點運算式中的類名必須為編譯後的二進制名稱(內部類用 $ 分隔)
  • 啟用編譯時驗證或單元測試可提前發現

總結

invalidAbsoluteTypeName 90% 以上情況是類名寫錯。仔細核對包路徑與類名拼寫,問題即刻解決。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved