Java SecurityException: la información del firmante no coincide

Resuelto Frank asked hace 14 años • 19 respuestas

Volví a compilar mis clases como de costumbre y de repente recibí el siguiente mensaje de error. ¿Por qué? ¿Cómo puedo arreglarlo?

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)
Frank avatar May 21 '10 02:05 Frank
Aceptado

Esto sucede cuando las clases que pertenecen al mismo paquete se cargan desde diferentes archivos JAR, y esos archivos JAR tienen firmas firmadas con diferentes certificados - o, quizás más a menudo, al menos uno está firmado y uno o más no (lo que incluye clases cargadas de directorios ya que esos AFAIK no se pueden firmar).

Por lo tanto, asegúrese de que todos los JAR (o al menos aquellos que contienen clases de los mismos paquetes) estén firmados con el mismo certificado o elimine las firmas del manifiesto de los archivos JAR con paquetes superpuestos.

Michael Borgwardt avatar May 20 '2010 19:05 Michael Borgwardt

Una forma sencilla de solucionarlo es intentar cambiar el orden de los archivos jar importados, lo que se puede hacer desde (Eclipse). Haga clic derecho en su paquete -> Ruta de compilación -> Configurar ruta de compilación -> Referencias y bibliotecas -> Ordenar y exportar. Intente cambiar el orden de los archivos jar que contienen archivos de firmas.

Mohit Phougat avatar Jun 17 '2011 15:06 Mohit Phougat