ClassNotFoundException: com.auth0.jwt.exceptions.JWTCreationException с DocuSignApi Java SDK - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь реализовать некоторые базовые функциональные возможности с помощью новейшего DocuSignApi для 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)

Я не получаю никакой компиляцииошибки, просто чтобы быть понятным.

Я добавил это к своему проекту, как указано в 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 в моем архетипе и требуемой версией 1.0.2 из DocuSign.

Мои вопросы

  1. Действительно ли моя ошибка вызвана конфликтом версий с JWT jar?
  2. Если это так, как лучше всего решить эту проблему?Может ли DocuSignApi работать с более новой версией JWT, как у меня?

Спасибо за потраченное время!

1 Ответ

0 голосов
/ 03 октября 2018

В результате возникли конфликтующие версии java-jwt jar .Мой проект использует версию 2.2.0, но зависимость, необходимая для версии 2.6.2 Java DocuSign API , равна 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 отсутствует.

Надеюсь, кому-то другому удастся воспользоваться довольно простой ошибкой, которую я здесь сделал.

...