Наш проект уже давно использует iText 2.17. Теперь мы хотели бы добавить цифровую подпись к нашим PDF-файлам, и мы предпочитаем использовать iText7. Можно ли использовать обе библиотеки iText ‹ 5.3 и 5.3+ вместе? Будет ли проблема в загрузчике классов или все пакеты будут отличаться от предшественника?
Используйте как iText7, так и iText 2.17
Ответы (1)
Ваш вопрос начинается хорошо, но затем становится запутанным.
- Вы можете использовать iText 2 в сочетании с iText 5.
- Вы можете использовать iText 2 в сочетании с iText 7.
- Вы можете использовать iText 5 в сочетании с iText 7.
Нельзя утверждать, что вы можете использовать версии ‹ 5.3 и версии >= 5.3 вместе. Например: вы не можете использовать 5.0.0 и 5.5.9 вместе, потому что у них один и тот же основной номер версии. У вас будут конфликты в именах пакетов.
Подводя итог: все основные версии имеют разные имена пакетов, так что вы можете использовать основные версии рядом друг с другом без конфликтов.
person
Bruno Lowagie
schedule
13.05.2016
@Cybermonk Имейте в виду, однако, что вы должны использовать материалы, связанные с безопасностью (цифровая подпись, ...) только с одной из этих версий, потому что разные версии iText основаны на разных версиях BouncyCastle (в частности, версии iText 2.x полагаются на старые), которые не могут сосуществовать в одном пути к классам.
- person mkl; 13.05.2016
У меня есть вопрос, который может быть связан с тем, что вы сказали. Дайджест ExternalDigest = new BouncyCastleDigest(); выдает исключение class not found. У меня есть bouncycastle bcprov-ext-jdk15on-154 в моем classPath, и я использую iText 5.5. Совместимы ли они?
- person Cybermonk; 13.05.2016
iText 5 использует BouncyCastle 1.49, как вы можете видеть в iText POM. github.com/itext/itextpdf/blob/develop/itext/pom. XML
- person Amedee Van Gasse; 13.05.2016