java.lang.NoClassDefFoundError: org / bouncycastle / asn1 / ASN1Encodable

1

Я использую iText 5.5.0 и BouncyCastle bcprov-jdk15on-1.50 для цифровой подписи PDF. Все работает отлично, если я не MakeSignature.signDetached времени в методе MakeSignature.signDetached.

Когда я использую TSAClient указывающий TSAURL, мой код дает мне ошибку

java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable at MakeSignature.signDetached method

и моя программа завершается, хотя я обрабатывал исключения.

Я пробовал разные версии банок bouncycastle, но я получаю ту же ошибку с разницей в классах, которые не были найдены.

Мне действительно нужна Timestamp, включенная в подпись. Что мне делать.

Теги:
timestamp
exception
itext
bouncycastle

3 ответа

3

Вы можете проверить зависимость itext 5.5 по следующему URL.

http://mvnrepository.com/artifact/com.itextpdf/itextpdf/5.5.0

Согласно этой странице, соответствующая версия bouncycastle для itext 5.5 равна 1.49. Я читал на странице где-то в Интернете, что bouncycastle сильно меняется, и часто бывает трудно найти соответствующую версию bouncycastle для конкретной версии itext.

0

Рекомендуемым способом включения iText в ваш проект является использование Maven. Затем Maven разрешит вам зависимости. Я прочитал, что вы используете Eclipse, Eclipse имеет очень хороший плагин Maven.

Поместите это в свой pom.xml:

<dependency>
  <groupId>com.itextpdf</groupId>
  <artifactId>itextpdf</artifactId>
  <version>5.5.8</version>
</dependency> 

Дополнительная информация доступна по адресу http://developers.itextpdf.com/itext-java

0

Загрузите файл bcprov-jdk15on-150.jar (для JDK 1.5 - 1.7) ниже указанной ссылки и добавьте в свой проект решение java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable exception.

http://www.bouncycastle.org/latest_releases.html

найдите соответствующий файл jar из приведенной выше ссылки в соответствии с вашей версией JDK.

  • 1
    С iText 5.5.x мы рекомендуем только использовать BouncyCastle 1.49, это единственная версия, которую мы используем. Известно, что BouncyCastle не уважает семантическое управление версиями и вносит несовместимые изменения API в незначительные изменения версии, как писал @mkl выше. Вот почему я голосую вниз (Раскрытие информации: я инженер QA @ iText Software).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню