【问题标题】:Upgrading from commons-httpclient to httpclient 4.x.jar facing issues with opensaml latest version从 commons-httpclient 升级到 httpclient 4.x.jar 面临 opensaml 最新版本的问题
【发布时间】:2017-06-13 14:02:57
【问题描述】:

在我的项目中,我需要将依赖 apache commons-httpclient-3.1.jar 更新为 httpclient-4.5.3.jar 因为 commons-httpclient .jar 即将停产。

我在这里面临的问题是 opensaml-2.6.6.jar 依赖于 openws-1.5.6.jarthat 具有 commons-httpclient-3.1.jar 的依赖项。

maven 存储库说我们可以更新到 httpclient-4.5.3.jar, 但是当我使用 OpenSaml 设置时,出现以下异常

Error ::
/*
java.lang.NoClassDefFoundError: org/apache/commons/httpclient/protocol/ProtocolSocketFactory
  at org.springframework.security.saml.SAMLBootstrap.postProcessBeanFactory(SAMLBootstrap.java:42)
  at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:281)
  at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:176)
  at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)
  at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)
  at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)
  at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
  at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118)
  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
  at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
  at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.protocol.ProtocolSocketFactory
  at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
  at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)

请告诉我需要做什么。

【问题讨论】:

    标签: httpclient opensaml


    【解决方案1】:

    我认为 OpenSaml v2 不会更新新的依赖,因为 v3 已经发布并且旧版本将不支持。 official v3

    根据maven,我发现openws-1.5.6.jar用于SOAP,而v3版本的OpenSaml将其分隔为OpenSAML:: SOAP Provider APIthis version (3.3.0) depends on httpclient 4.3.6

    所以我想也许你需要考虑升级 OpenSaml V3,它具有几乎相同的功能(只是引导方法的微小变化)

    【讨论】:

      猜你喜欢
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      相关资源
      最近更新 更多