找不到 'com.okta.sdk.impl.http.RequestExecutorFactory'

Unable to find a 'com.okta.sdk.impl.http.RequestExecutorFactory'

我有一个使用 OKTA 保护的 java Web 应用程序。我有下面的代码抛出下面的异常,

Client client = Clients.builder()
                    .setOrgUrl((String)SessionUtils.getSession().getAttribute("serverUrl"))  
                    .setClientCredentials(new TokenClientCredentials((String)SessionUtils.getSession().getAttribute("apiKey")))
                    .build();

当我 运行 它时,出现以下错误。我尝试通过转到 eclipse 项目的 buildPath 添加 jar。我在我的 POM 中使用以下依赖项,这在我的项目有一个 ANT 构建之前曾经工作过。但是当我搬到 Maven 时,我开始收到这个错误。

java.lang.IllegalStateException: Unable to find a 'com.okta.sdk.impl.http.RequestExecutorFactory' implementation on the classpath. Please ensure you have added the okta-sdk-httpclient.jar file to your runtime classpath. at com.okta.commons.lang.Classes.lambda$loadFromService[=12=](Classes.java:205) at java.util.Optional.orElseThrow(Optional.java:290) at com.okta.commons.lang.Classes.loadFromService(Classes.java:205) at com.okta.sdk.impl.client.BaseClient.createRequestExecutor(BaseClient.java:103) at com.okta.sdk.impl.client.BaseClient.(BaseClient.java:72) at com.okta.sdk.impl.client.AbstractClient.(AbstractClient.java:60) at com.okta.sdk.impl.client.DefaultClient.(DefaultClient.java:117) at com.okta.sdk.impl.client.DefaultClientBuilder.build(DefaultClientBuilder.java:322)

我可以通过使用 okta-sdk-httpclient :v1.5.2 来匹配我项目中的其他一些 OKTA 依赖项来解决这个问题。

以下是我在修复之前项目中的依赖项。

-okta-authn-sdk-api :v1.0.0
-okta-authn-sdk-impl :v1.0.0
-okta-http-api :v1.2.8
-okta-commons-lang :v1.2.8
-okta-config-check :v1.2.8
-okta-http-okhttp :v1.2.8
-okta-jwt-verifier :v0.5.1
-okta-jwt-verifier-impl:v0.4.0
-okta-sdk :v0.0.4
-okta-sdk-api :v1.5.2
-okta-sdk-httpclient :v6.0.0
-okta-sdk-impl :v1.5.2