我正在尝试使用最新的 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.JWTCreationExceptionat 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 吗?感谢您的时间!
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
这里的问题最终是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 的依赖不存在。
希望其他人可以从我在这里犯的相当简单的错误中受益。
添加回答
举报
0/150
提交
取消