java.lang.SecurityException: die Klasse “org.apache.log4j.Logger" nicht mit der Vertrauenswürdigkeit von anderen Klassen im gleichen Paket

Für eine java web-Anwendung, bekam ich diese Fehlermeldung bei der Verwendung von JRE 1.6.0_22

java.lang.SecurityException: die Klasse "org.apache.log4j.Logger" nicht mit der Vertrauenswürdigkeit von anderen Klassen im gleichen Paket

Aber es funktioniert gut bei der Verwendung von JRE 1.6.0_13.

Ich suchte in Google, und finden, das ist eine Sicherheits-Erweiterung, da update 19.

Ist und für diese Ausnahme, die es sagt,

Den folgenden zwei SecurityExceptions geworfen werden nach der gemischten Komponenten, die zuvor erkannt und eine Entscheidung wurde getroffen, um Ihnen zu ermöglichen, zu koexistieren. Die Ausnahmen geben an, dass eine Komponente namens-Kollision (Ressource-Namen oder die Klasse package-Namen) erkannt wurde, die zwischen vertrauenswürdigen und nicht vertrauenswürdigen Komponenten und die Anfrage zum laden der Ressource oder der Klasse verweigert wurde.

Das problem ist jetzt, wie könnte ich herausfinden, welche Klassen (evtl. org.apache.log4j.Logger?) haben Sie die Kollision und die Pakete, die Sie sind?

Ich finde, es ist eine ähnliche Frage in Oracle-Foren

  • Wo wird diese Ausnahme geworfen. Ich sehe nicht, dass der text in der JDK. Sieht ähnlich aus wie das problem von dem Versuch zu haben, zu Klassen im gleichen Paket mit verschiedenen Zertifikaten, denen nicht erlaubt wurde, seit über zehn Jahren. Es ist möglich, dass Sie doppelte class-Dateien, und Sie geladen in einer anderen Reihenfolge.
  • (Oh, und die gemischt-code-Sache gilt nur für das PlugIn/WebStart.)
  • hi Tom, vielen Dank für deine info, ja, es ist eine webstart-Anwendung und den J2EE-server JBoss und unsere Anwendung ist nur ein Teil des ganzen Produkts. Und ich sehe auch andere Applikationen verwenden Sie die log4j mit verschiedenen jar-Dateien. und ich habe versucht ersetzen Sie unsere Anwendung log4j jar-Datei mit Ihren lieben, immer noch der gleiche Fehler. ich brauche, um zu überprüfen, ob es gibt andere Klassen, die doppelte. können Sie geben einen Hinweis, wie Sie zu finden? da gibt es eine Menge von Gläsern, und ich nur invovled in diesem Produkt für ein paar Tage. danke.
  • (Ich war ein bisschen falsch - dieser text erscheint in der Bereitstellung von code. grepping das falsche Verzeichnis.) jar tf wird die Liste der Dateien innerhalb eines jar. Wissen Sie den Namen des Pakets, so kann grep für, die.
  • danke, Tom. ich finde die Kollision Klasse-Namen mit der jar-tf-Befehl!
InformationsquelleAutor Joey Sun | 2011-01-13
Schreibe einen Kommentar