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

SSH 整合常見錯誤:NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException 解決方案

     編輯:Java 綜合教學

SSH 整合常見錯誤:NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException 解決方案

在整合 Spring、Struts2、Hibernate (SSH) 專案時,啟動容器常遇到以下異常堆疊:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource'...
nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException

錯誤原因

Spring AOP 底層依賴 AspectJ 的織入器類別,專案類路徑中缺少 aspectjweaver.jar,導致類別載入失敗。

解決方法

在專案依賴中加入 aspectjweaver.jar:

  • Maven 專案:在 pom.xml 添加依賴
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.9.x</version> <!-- 對應 Spring 版本選擇 -->
    </dependency>
  • 手動管理 JAR:下載對應版本的 aspectjweaver.jar 放入 WEB-INF/lib 或類路徑

補充說明

此 JAR 為 Spring AOP 實現(特別是基於 @AspectJ 註解的切面支援)的核心依賴。若專案使用 Spring 的聲明式事務(@Transactional)、AOP 切面程式設計,皆需此依賴。

版本選擇建議與 Spring Framework 版本對應,避免版本衝突導致其他異常。

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