猿问

ClassNotFoundException: com.auth0.jwt.exceptions.

我正在尝试使用最新的 DocuSignApi for Java(2.6.2 版)实现一些基本功能。我目前只是想让 JWT 授权流程正常工作。这是代码:


ApiClient apiClient = new ApiClient();


this.apiClient.configureJWTAuthorizationFlow(this.adminProperties.getRsaPublicKey(), this.adminProperties

            .getRsaPrivateKey(), this.adminProperties.getoAuthBaseUrl(), this.adminProperties.getIntegratorKey(),

            this.adminProperties.getImpersonatedUserGuid(), TOKEN_EXPIRATION_IN_SECONDS);

在上面的 `ApiClient.configureJWTAuthorizationFlow(...) 调用中,我收到以下运行时错误:


Caused by: java.lang.ClassNotFoundException: com.auth0.jwt.exceptions.JWTCreationException

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我没有收到任何编译错误,只是为了清楚。


我已将此添加到我的项目 pom 中,如DocuSignApi Java Wiki 所示:


  <dependency>

    <groupId>com.docusign</groupId>

    <artifactId>docusign-esign-java</artifactId>

    <version>2.6.2</version>

  </dependency>

现在我还使用了一个 Maven 原型,它引入了大量其他罐子,这些罐子与我公司的所有项目一起使用,并且我的应用程序中的其他功能需要这些罐子。我可以看到我的有效 pom 正在拉入这个版本的 java-jwt & spring-security-jwt:


  <dependency>

    <groupId>com.auth0</groupId>

    <artifactId>java-jwt</artifactId>

    <version>2.2.0</version>

  </dependency>

  <dependency>

    <groupId>org.springframework.security</groupId>

    <artifactId>spring-security-jwt</artifactId>

    <version>1.0.8.RELEASE</version>

  </dependency>

我还注意到DocuSignApi Java Wiki上列出的依赖项之一是这样的:


org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.2

我怀疑我的错误可能与我的原型中的 JWT 2.2.0 和所需的 DocuSign 1.0.2 版本之间的版本冲突有关。


我的问题是


我的错误确实是由与 JWT jar 的版本冲突引起的吗?

如果是这样,解决此问题的最佳方法是什么?DocuSignApi 可以像我一样使用较新版本的 JWT 吗?

感谢您的时间!


桃花长相依
浏览 1277回答 1
1回答

MMMHUHU

这里的问题最终是java-jwt jar 的版本冲突。我的项目使用的是 2.2.0 版本,但是Java DocuSign API的 2.6.2 版本所需的依赖项是 3.2.0。这org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.2我上面列出的依赖关系用词不当……那不是冲突的 jar。由于此时我无法升级到 java-jwt 3.2.0 jar,我被迫将我的 Java DocuSign API 降级到 2.2.1,其中对 java-jwt 的依赖不存在。希望其他人可以从我在这里犯的相当简单的错误中受益。
随时随地看视频慕课网APP

相关分类

Java
我要回答