Java SecurityException: la información del firmante no coincide
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)
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.
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.