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

Struts 2.5 最小依賴 JAR 清單:9 個核心 JAR 完整版本對照表

     編輯:Java 綜合教學

Struts 2.5 最小依賴 JAR 清單:9 個核心 JAR 完整版本對照表

Struts 2.5.2 官方 struts-2.5.2-min-lib.zip 僅含 7 個 JAR,實測專案啟動會報錯。經驗證,至少需要 9 個 JAR 才能正常運行。本文提供完整版本對照表,避免依賴地獄。

官方 min-lib 內容(7 個,不足夠)

commons-fileupload-1.3.2.jar
commons-io-2.4.jar
commons-lang3-3.4.jar
commons-logging-1.1.3.jar
freemarker-2.3.23.jar
ognl-3.1.10.jar
struts2-core-2.5.2.jar

實測必須補充的 2 個 JAR

javassist-3.20.0-GA.jar      # 類別字節碼操作,OGNL/攔截器依賴
log4j-api-2.5.jar            # 日誌門面 API,Struts 2.5 強制依賴 log4j2

完整 9 JAR 最小依賴清單(版本對照表)

JAR 檔名版本用途來源
struts2-core2.5.2核心框架min-lib / all
ognl3.1.10表達式語言min-lib / all
freemarker2.3.23模板引擎min-lib / all
commons-lang33.4工具類庫min-lib / all
commons-fileupload1.3.2檔案上傳min-lib / all
commons-io2.4IO 工具min-lib / all
commons-logging1.1.3日誌門面 (舊)min-lib / all
javassist3.20.0-GA字節碼操作all 套件
log4j-api2.5日誌門面 (新)all 套件

關鍵依賴關係說明

  • javassist:OGNL 表達式解析、動態攔截器建立、結果類型轉換均需字節碼操作
  • log4j-api 2.x:Struts 2.5 遷移至 log4j2,log4j-api 是門面,實際實作需另行加入 log4j-core、log4j-slf4j-impl 等(視專案日誌方案)
  • commons-logging:保留為相容舊元件,實際路由至 log4j2

Maven 依賴配置範例

<dependencies>
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.5.2</version>
    </dependency>
    <!-- 遞移依賴會自動引入大部分,但建議顯式宣告關鍵依賴 -->
    <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.20.0-GA</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.5</version>
    </dependency>
    <!-- 實際日誌實作(任選一套) -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.5</version>
    </dependency>
</dependencies>

驗證方式

  1. 建立空白 Struts 2.5 專案
  2. 僅加入上述 9 JAR(或 Maven 依賴)
  3. 配置 struts.xml、web.xml(或註解)
  4. 啟動 Tomcat,訪問 Action 確認無 NoClassDefFoundError/ClassNotFoundException

版本升級注意事項

  • Struts 2.5.x 系列小版本升級通常相容,但 OGNL、Freemarker、Javassist 版本鎖定較嚴格
  • 避免混用不同版本的 commons-* 系列(建議統一由 Spring Boot / 依賴管理 BOM 控制)
  • 生產環境務必關注 Struts 安全公告(歷史高危漏洞頻出),及時升級

總結

Struts 2.5 官方 min-lib 缺少 javassist 與 log4j-api 兩個關鍵依賴。9 JAR 清單經實測驗證為最小可運行集合。Maven 專案建議直接依賴 struts2-core,並顯式宣告 javassist、log4j-api、log4j-core 以鎖定版本,避免遞移依賴衝突。

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