Совместимы ли библиотеки Java Bouncycastle Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Совместимы ли библиотеки Java Bouncycastle Java?

Сообщение Anonymous »

Я использую несколько сторонних либеров, которые имеют зависимости от различных библиотек Bouncycastle . Здесь некоторые примеры: < /p>
  • bcpkix-jdk18on < /li>
    bcprov-jdk15to18 < /li>
    bcprov-lts8on < /li>
    bcutil-lts8on < /li>
    < /li>
    bcutil-lts8on < /li>
    /> < /ul>
    После обновления одной из этих зависимостей я испытал очень странное поведение во время выполнения, а не на поиске методов или полей. Кажется, что класс версии X был загружен классовым загрузчиком, и после этого несовместимый класс версии Y не мог найти поле в версии X. < /P>
    Пока все хорошо. Я попытался исправить это, используя управление зависимостями Maven, чтобы совместимые версии использовались во время компиляции.
    Я выбрал 1,79 для bc ...- Jdk15to18 и bc ...- Jdk18on и 2.73.7 для Bc ... Lts8on, потому что: >

    2,73.7 для Bc ... Lts8on, потому что /> "Выпуск 2.73.7 8 ноября 2024 г. Этот релиз основан на BC 1.79 [...]" < /p>
    < /blockquote>
    Поэтому я подумал, что это безопасно, но на самом деле это не в безопасности. Все еще nosuchfieldexception, nosuchmethodexception и т. Д. < /p>
    Я проверил зеркала Github для класса, который сделал некоторые проблемы: < /p>

    sha3844digest lts8on версии 1.79 < /li>
    sha384digest lts8on версии 1.79 < /li>
    sha384digest lts8on. /> < /ul>
    Вы можете видеть, что источники разные и объявляют различные публичные методы, например, Sha384digest#newinstance (). < /P>

    Первый вопрос: Должен ли это считаться ошибкой? < /Li>
    Второй вопрос: что я должен делать? Написать пользовательский класс загрузчика? Исправить это с помощью предварительной нагрузки «совместимых» классов в определенное время?


Подробнее здесь: https://stackoverflow.com/questions/797 ... themselves

Вернуться в «JAVA»