From 397bbe04c4376ab6f73717acd10a2558c6728906 Mon Sep 17 00:00:00 2001 From: buaazyl Date: Sat, 10 Jan 2026 14:23:38 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#3844=20=E3=80=90=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=9E=B6=E6=9E=84=E3=80=91=E5=B0=86=20httpclient4=20=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E7=9A=84=20scope=20=E4=BB=8E=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E7=9A=84=20compile=20=E6=94=B9=E4=B8=BA=20provided=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E4=BE=BF=E8=AE=A9=E4=BD=BF=E7=94=A8=E8=80=85=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E6=9B=B4=E7=81=B5=E6=B4=BB=E5=9C=B0=E9=80=89=E6=8B=A9?= =?UTF-8?q?=20HTTP=20=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/HTTPCLIENT_UPGRADE_GUIDE.md | 10 +++++----- pom.xml | 2 +- weixin-java-channel/pom.xml | 10 ++++++++++ weixin-java-common/pom.xml | 2 ++ weixin-java-cp/pom.xml | 5 +++++ weixin-java-miniapp/pom.xml | 10 ++++++++++ weixin-java-mp/pom.xml | 10 ++++++++++ weixin-java-open/pom.xml | 10 ++++++++++ weixin-java-pay/pom.xml | 8 ++++++++ weixin-java-qidian/pom.xml | 5 +++++ 10 files changed, 66 insertions(+), 6 deletions(-) diff --git a/docs/HTTPCLIENT_UPGRADE_GUIDE.md b/docs/HTTPCLIENT_UPGRADE_GUIDE.md index 945341966..5cabb1067 100644 --- a/docs/HTTPCLIENT_UPGRADE_GUIDE.md +++ b/docs/HTTPCLIENT_UPGRADE_GUIDE.md @@ -43,8 +43,8 @@ ### 对现有项目 - **向后兼容**:不需要修改任何代码 -- HttpClient 4.x 依然可用,项目同时包含两个版本的依赖 -- 如果希望继续使用 HttpClient 4.x,只需在配置中显式指定 +- 如果希望继续使用 HttpClient 4.x,只需在配置中显式指定,pay 模块会自动包含 httpclient4 依赖(因为某些接口必须使用 httpclient4) + 其他模块(mp、miniapp、cp、open、channel、qidian)如果需要使用 httpclient4,必须显式在项目中添加 httpclient4 依赖 ## 迁移步骤 @@ -94,10 +94,10 @@ WxMpService wxMpService = new WxMpServiceHttpClientImpl(); A: 不会。项目保持完全向后兼容,HttpClient 4.x 的所有实现都保持不变。 ### Q: 我需要修改代码吗? -A: 大多数情况下不需要。如果希望继续使用 HttpClient 4.x,只需在配置中指定 `http-client-type=HttpClient` 即可。 +A: 大多数情况下不需要。如果希望继续使用 HttpClient 4.x,只需在配置中指定 `http-client-type=HttpClient` ,并引入 HttpClient 4.x 依赖即可。 ### Q: 我可以在同一个项目中同时使用两个版本吗? -A: 可以。不同的模块可以配置使用不同的 HTTP 客户端。例如,MP 模块使用 HttpClient 5.x,MiniApp 模块默认使用 HttpClient 4.x,但也可以按需配置为 HttpClient 5.x。 +A: 可以。不同的模块可以配置使用不同的 HTTP 客户端。例如,MP 模块使用 HttpClient 5.x,pay 模块部分接口仍使用 HttpClient 4.x,但也可以按需配置为 HttpClient 5.x。 ### Q: 如何排除不需要的依赖? A: 如果只想使用一个版本,可以在 `pom.xml` 中排除另一个: @@ -196,4 +196,4 @@ weixin-java-common/ - ✅ **推荐使用 HttpClient 5.x**:性能更好,功能更强 - ✅ **向后兼容**:可以继续使用 HttpClient 4.x - ✅ **灵活配置**:支持多种 HTTP 客户端,按需选择 -- ✅ **平滑迁移**:无需修改代码,仅需配置即可 +- ✅ **平滑迁移**:无需修改代码,仅需配置,若不使用 HttpClient 5.x ,引入其他依赖即可 diff --git a/pom.xml b/pom.xml index 5740a2779..d58a677b2 100644 --- a/pom.xml +++ b/pom.xml @@ -136,7 +136,7 @@ UTF-8 4.5.13 - 5.5 + 5.5.2 9.4.57.v20241219 diff --git a/weixin-java-channel/pom.xml b/weixin-java-channel/pom.xml index 13dd26fa9..c15ea302e 100644 --- a/weixin-java-channel/pom.xml +++ b/weixin-java-channel/pom.xml @@ -29,6 +29,16 @@ jodd-http provided + + org.apache.httpcomponents + httpclient + provided + + + org.apache.httpcomponents + httpmime + provided + org.apache.httpcomponents.client5 httpclient5 diff --git a/weixin-java-common/pom.xml b/weixin-java-common/pom.xml index 9032af97d..68826ca2d 100644 --- a/weixin-java-common/pom.xml +++ b/weixin-java-common/pom.xml @@ -34,6 +34,7 @@ org.apache.httpcomponents httpclient + provided commons-logging @@ -44,6 +45,7 @@ org.apache.httpcomponents httpmime + provided diff --git a/weixin-java-cp/pom.xml b/weixin-java-cp/pom.xml index 6c47176af..6f8ab756a 100644 --- a/weixin-java-cp/pom.xml +++ b/weixin-java-cp/pom.xml @@ -30,6 +30,11 @@ okhttp provided + + org.apache.httpcomponents + httpclient + provided + org.apache.httpcomponents.client5 httpclient5 diff --git a/weixin-java-miniapp/pom.xml b/weixin-java-miniapp/pom.xml index 340a15e58..4f5378727 100644 --- a/weixin-java-miniapp/pom.xml +++ b/weixin-java-miniapp/pom.xml @@ -31,6 +31,16 @@ okhttp provided + + org.apache.httpcomponents + httpclient + provided + + + org.apache.httpcomponents + httpmime + provided + org.apache.httpcomponents.client5 httpclient5 diff --git a/weixin-java-mp/pom.xml b/weixin-java-mp/pom.xml index c33aaeab8..755695d0c 100644 --- a/weixin-java-mp/pom.xml +++ b/weixin-java-mp/pom.xml @@ -31,6 +31,16 @@ okhttp provided + + org.apache.httpcomponents + httpclient + provided + + + org.apache.httpcomponents + httpmime + provided + org.apache.httpcomponents.client5 httpclient5 diff --git a/weixin-java-open/pom.xml b/weixin-java-open/pom.xml index 4c34786da..6720cd2b3 100644 --- a/weixin-java-open/pom.xml +++ b/weixin-java-open/pom.xml @@ -48,6 +48,16 @@ okhttp provided + + org.apache.httpcomponents + httpclient + provided + + + org.apache.httpcomponents + httpmime + provided + org.apache.httpcomponents.client5 httpclient5 diff --git a/weixin-java-pay/pom.xml b/weixin-java-pay/pom.xml index 9bf6d49a7..43851df85 100644 --- a/weixin-java-pay/pom.xml +++ b/weixin-java-pay/pom.xml @@ -34,6 +34,14 @@ jodd-util 6.1.0 + + org.apache.httpcomponents + httpclient + + + org.apache.httpcomponents + httpmime + org.apache.httpcomponents.client5 httpclient5 diff --git a/weixin-java-qidian/pom.xml b/weixin-java-qidian/pom.xml index 293a4655c..0752ce69d 100644 --- a/weixin-java-qidian/pom.xml +++ b/weixin-java-qidian/pom.xml @@ -31,6 +31,11 @@ okhttp provided + + org.apache.httpcomponents + httpclient + provided + org.apache.httpcomponents.client5 httpclient5