提供的 pom.xml **完全正確**,可直接用於「僅下載依賴 Jar 包」。執行 mvn dependency:resolve 或 mvn compile 即會自動下載所有聲明的依賴到本地倉庫(~/.m2/repository)。
| 項目 | 狀態 | 說明 |
|---|---|---|
| 坐標完整性 | ✅ | groupId/artifactId/version 全部齊全 |
| 打包類型 | ✅ | war 適用 Web 專案,僅下載依賴無影響 |
| 依賴範圍 | ⚠️ | JUnit test 範圍僅測試類路徑,其餘 compile (預設) 正確 |
| 版本衝突 | ⚠️ | 建議執行 mvn dependency:tree 檢查傳遞依賴衝突 |
| 倉庫配置 | ✅ | 無 repositories 節點,使用 Central + settings.xml 鏡像(如阿里雲) |
# 僅解析下載依賴(不編譯)
mvn dependency:resolve
# 下載並複製到指定目錄(如 lib/)
mvn dependency:copy-dependencies -DoutputDirectory=lib
# 包含 sources 和 javadoc
mvn dependency:resolve -Dclassifier=sources
mvn dependency:resolve -Dclassifier=javadoc
# 離線模式驗證(斷網測試)
mvn dependency:resolve -o
| 依賴 | 當前版本 | 建議版本 (2024) | 備註 |
|---|---|---|---|
| JUnit | 3.8.1 | 4.13.2 / 5.10+ | 3.x 極舊,強烈建議升級 |
| MyBatis | 3.1.1 | 3.5.13+ | 修復大量 Bug |
| MySQL Connector/J | 5.1.32 | 8.0.33+ | 5.x 已 EOL,8.x 支援 MySQL 8.0+ |
| HttpClient | 4.1.2 | 4.5.14 / 5.2+ | 4.1.x 有安全漏洞 |
| Log4j | 1.2.16 | 2.23.1+ | 1.x 有嚴重漏洞,必須遷移 2.x |
| Servlet API | 3.1.0 | 4.0.1 / 5.0.0 | 對應 Tomcat 9/10 |
<mirrors>
<mirror>
<id>aliyun</id>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
pom.xml 結構正確,可直接下載依賴。強烈建議:升級舊版依賴(特別是 Log4j 1.x、HttpClient 4.1、MySQL 5.1)、配置阿里雲鏡像、定期執行 mvn dependency:analyze 檢查未使用/未聲明依賴。