HTTPClientのバージョンの競合、Mavenのプロジェクトが依存関係によって引き起こさバージョンの競合を通過しました

A服务发送HTTP请求调用B服务时、出现异常信息:
2020年3月23日10:15:14.001:WARN:oejs.ServletHandler:qtp760563749-27を:
org.springframework.web.util.NestedServletException:ハンドラ処理に失敗しました。ネストされた例外がjava.lang.NoClassDefFoundErrorがある:ORG / apacheの/ HTTP / utilに/ Argsの
org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1287)で
org.springframework.web.servlet.DispatcherServlet.doDispatchで( DispatcherServlet.java:961)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)で
org.springframework.web.servlet.FrameworkServlet.proceで*** equest(FrameworkServlet.java:961)
ORGで.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
javax.servlet.http.HttpServlet.service(HttpServlet.java:687)で
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)で
javax.servlet.http.HttpServlet.serviceで(HttpServlet.java :790)
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)で
org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1689)で
org.springframework.webで。 filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)で
org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilterで(ServletHandler.java: 1676年)
com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)で
org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1668)で
org.springframework.web.filterで.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)で
org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilterで(ServletHandler.java:1676 )
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)で
org.eclipse.jetty.server.handler.ScopedHandler.handleで(ScopedHandler.java:143)
org.eclipse.jetty.securityました。 SecurityHandler.handle(SecurityHandler.java:548)
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)で
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)で
org.eclipse.jetty.servletで.ServletHandler.doScope(ServletHandler.java:511)
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)で
org.eclipse.jetty.server.handler.ContextHandler.doScopeで(ContextHandler.java :1112)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)で
org.eclipse.jetty.server.handler.HandlerWrapper.handleで(HandlerWrapper.java:134)
org.eclipseで。 jetty.server.Server.handle(Server.java:523)
org.eclipse.jetty.server.HttpChannel.handleで(HttpChannel.java:320)
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)で
org.eclipse.jetty.io.AbstractConnection $ ReadCallback.succeeded(AbstractConnection.java:273)で
org.eclipse.jetty.io.FillInterestで(FillInterest.java:95).fillable
$ 2.run(SelectChannelEndPoint.java:93)org.eclipse.jetty.io.SelectChannelEndPointで
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.javaで: 303)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)で
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136時)
におけるORG .eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
org.eclipse.jetty.util.thread.QueuedThreadPoolで$ 2.run(QueuedThreadPool.java:589)
java.lang.Thread.run(Thread.java:748)にて
によって引き起こさ:
java.lang.NoClassDefFoundErrorが:ORG / apacheの/ HTTP / utilに/ Argsの
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:81)で
org.apache.http.impl.client.CloseableHttpClient.executeで(CloseableHttpClient.java:107)
ORGで。 apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
com.kutesmart.bl.commons.utils.HttpHelper.doSendPostOrign(HttpHelper.java:76)で
com.kutesmart.bl.rest.servicesで。 ScmService.sendLjmlToScm(ScmService.java:974)
com.kutesmart.bl.rest.services.ScmService.sendZmlLjmlで(ScmService.java:279)
com.kutesmart.bl.rest.services.ScmService $$ FastClassBySpringCGLIB $$ b75c9845.invoke(<発生>)で
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)で
org.springframework.aopで.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)で
org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocationで(TransactionInterceptor。 Javaの:98)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:266)で
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)で
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)で
org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)で
com.kutesmart.bl.rest.servicesで.ScmService $$ EnhancerBySpringCGLIB $$ 878a1b3.sendZmlLjml(<発生>)
com.kutesmart.bl.task.CreateLjmlBuyRequest.sendLjml(CreateLjmlBuyRequest.java:131)で
com.kutesmart.bl.task.CreateLjmlBuyRequest.executeで(CreateLjmlBuyRequest.java :73)
com.kutesmart.bl.task.CreateLjmlBuyRequest $$ FastClassBySpringCGLIB $$ eb2b1ab4.invokeで(<発生>)
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)で
org.springframework.aop.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717)で
org.springframework.aop.framework.ReflectiveMethodInvocation.proceedで(ReflectiveMethodInvocation.java:157)
com.alibaba.druid.support.springで.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:72)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)で
org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.interceptで(CglibAopProxy.java :653)
com.kutesmart.bl.task.CreateLjmlBuyRequest $$ EnhancerBySpringCGLIB $$ 9b550b10.execute(<発生>)で
com.kutesmart.bl.task.service.JobTaskService.exec(JobTaskService.java:48)で
com.kutesmart.bl.task.service.JobTaskService $$ FastClassBySpringCGLIB $$ ef1fd73e.invokeで(<発生>)
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)で
......

インターネットを検索した後、言っ関連のjarパッケージhttpcore、HTTPClientの不足、またはjarパッケージのバージョンの競合が。
自分のプロジェクトの構成では、プロジェクトがHTTPClientのバージョン4.5.1を設定されているが、httpcoreに構成されていません。
HTTPClientのようhttpcoreを追加して、最高のバージョン4.5.12に上昇します。

<依存性>
<のgroupId> org.apache.httpcomponents </のgroupId>
<たartifactId> httpcore </たartifactId>
<バージョン> 4.4.13 </バージョン>
</依存>
<依存性>
<のgroupId> org.apache.httpcomponents </ groupId>
<たartifactId> HTTPClientの</たartifactId>
<バージョン> 4.5.12 </バージョン>
</依存関係>

そして、Mavenのパッケージには、成功した要求を送信し、プロジェクトを再起動します。

なお、親、従属サブサービスのないバージョンの宣言(次のコード)で親サービス追加依存性宣言のバージョン(例えば、上記のコード)が存在する場合。
<依存性>
<のgroupId> org.apache.httpcomponents </のgroupId>
<たartifactId> HttpCore </たartifactId>
</依存>

注:この記事では、基準の毎日の記録を解決するための例外で、あなたが閲覧お願い致します。

おすすめ

転載: blog.51cto.com/ycylong/2481054