Java SecurityException: информация подписавшего не совпадает - PullRequest
109 голосов
/ 20 мая 2010

Я перекомпилировал свои классы как обычно и неожиданно получил следующее сообщение об ошибке. Зачем? Как я могу это исправить?

java.lang.SecurityException: class "Chinese_English_Dictionary"'s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(ClassLoader.java:776)

Ответы [ 14 ]

0 голосов
/ 21 февраля 2018

Если вы добавили все jar-файлы с bouncycastle.org (в моем случае с crypto-159.zip), просто удалите те JDK, которые к вам не относятся. Есть увольнения. Вам, вероятно, нужны только банки jdk15on.

0 голосов
/ 27 августа 2015

На основании ответа @Mohit Phougat, если вы используете Groovy с аннотациями @Grab, вы можете попытаться изменить порядок таких аннотаций.

0 голосов
/ 06 июня 2014

Я мог бы это исправить.

Основная причина: Это общая проблема при использовании реализации Sun JAXB с подписанными банками. По сути, реализация JAXB пытается избежать отражения, генерируя класс для прямого доступа к свойствам без использования отражения. К сожалению, он генерирует этот новый класс в том же пакете, что и класс, к которому осуществляется доступ. Отсюда и эта ошибка.

Разрешение: Добавьте следующее системное свойство, чтобы отключить оптимизации JAXB, несовместимые с подписанными jar-файлами: -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize = истина

Ссылка: https://access.redhat.com/site/solutions/42149

0 голосов
/ 21 февраля 2013

Это также происходит, если вы включаете один файл с разными именами или из разных мест дважды, особенно если это две разные версии одного и того же файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...