Ich suche nach einem Java-Argument (oder vielleicht einer anderen Methode), um eine Datei angeben zu können, die von der JVM als java.security-Datei verwendet werden soll Verwenden Sie das im JDK (in der JRE-Bibliothek) gefundene.Java-Argument zur Angabe von Java.Security-Datei für JVM
Um Ihnen ein wenig mehr Kontext zu geben, arbeite ich mit einem WebLogic-Server, der von jemand anderem eingerichtet wurde und zwei (oder mehr) verschiedene JVMs vom gleichen JDK aus ausführt. Wir haben jetzt ein Problem, bei dem die Arbeit, die ich an einer JVM mache, eine andere java.security-Datei erfordert als die, die gerade von der anderen JVM verwendet wird. Ich hoffe, dass es für mich eine Möglichkeit gibt, meine JVM auf eine neue java.security-Datei zu verweisen, ohne sie auf ein komplett neues JDK verweisen zu müssen (aus Platzgründen möchten wir kein JDK für jede JVM hochladen)).
Ich bin mir bewusst, dass die Server-Setup ist nicht ideal, aber die komplette Neuanordnung der bestehenden Einrichtung ist nicht praktikabel und nicht etwas, was ich in der Lage bin zu tun. Ich hoffe also, dass jemand eine kreative Lösung hat, mit der mehrere JVMs mit demselben JDK, aber mit unterschiedlichen Sicherheitskonfigurationen ausgeführt werden können.
Ich habe versucht, Lösungen zu finden, aber es scheint, dass mein Google-Foo nicht so stark ist, wie ich gehofft hatte. Hier ist zu hoffen, dass einer von euch die Antwort hat!
Vielen Dank.
EDIT
Leider vielleicht mein ursprünglicher Beitrag war nicht klar, aber ich bin daran interessiert, die java.security Datei anzugeben, auch bezeichnete oft als die Java Master-Sicherheitseigenschaften Datei, nicht die Datei java.policy welches im selben Verzeichnis gefunden wird.
Meine Lösung
Ich werde meine Lösung hier posten nur als Referenz von anderen, die in eine ähnliche Situation geraten könnten.
Da ich beim Start kein Argument finden kann, habe ich beschlossen, auf die Eigenschaftendatei java.security zu verzichten. Mit der Security-Klasse (java.security.Security) können Eigenschaften und Provider (normalerweise in der Datei konfiguriert) innerhalb von Code festgelegt werden. Also, zumindest in der Zwischenzeit, plane ich, eine Klasse zu schreiben, die meine JVM-spezifischen Sicherheitskonfigurationen nach dem Start einrichten wird (im Wesentlichen das Überschreiben der Standardkonfigurationen, die von der Datei für die andere JVM bereitgestellt werden). Während der offensichtliche Nachteil dieser Lösung darin besteht, dass Sicherheitskonfigurationen dieser JVM nicht externalisiert werden, bietet die Lösung mir die Möglichkeit, JVM-spezifische Eigenschaften und Provider festzulegen, ohne die Konfiguration anderer JVMs zu beeinträchtigen, die vom selben JDK ausgeführt werden.
Ich schätze die Zeit und Rücksicht von anderen gegeben. Danke =)
Vielen Dank, Sanjay. Dies scheint ein guter Ausgangspunkt zu sein, aber korrigieren Sie mich, wenn ich falsch liege, ist eine .policy-Datei anzugeben? Gibt es eine Möglichkeit, dies auf eine .Security-Datei anzuwenden (d. H. Die Master-Eigenschaftendatei, um Sicherheitsanbieter usw. zu konfigurieren)? – Kai