2010-12-23 1 views
0

Können .properties-Werte in kompilierten Klassen statisch gespeichert werden?Java - Können .properties-Werte in der kompilierten Klasse statisch festgelegt werden?

ich einen Wert in meinem .properties bin Aktualisierung Datei noch das Protokoll noch den alten Wert von der ursprünglichen .properties-Datei zeigt. Liegt dies daran, dass die Klassendatei die Werte für .properties während der Kompilierung gespeichert hat? (I die ursprüngliche Quelle nicht so haben, kann nicht neu kompilieren)

+4

Es scheint wahrscheinlich, dass die .properties-Datei beim Start eingelesen wird. Wenn Sie es zur Laufzeit ändern, wird kein Neuladen von Eigenschaften erzwungen. – DwB

+0

Was ist die Umgebung? Ist es eine Webapp unter Apache/Tomcat? Hast du den Anwendungsserver neu gestartet? Vielleicht erstellt die Anwendung eine Singleton-Instanz für den Zugriff auf die .properties-Datei. –

+1

Sie könnten den Code dekompilieren, um zu sehen, was er tut. Es ist jedoch sehr unwahrscheinlich, dass Eigenschaften in den Code kompiliert wurden. Es ist möglich, dass sich die Eigenschaftendatei in der JAR-Datei befindet und von dort statt vom Dateisystem gelesen wird. –

Antwort

1

Eigenschaften nicht statisch in kompilierten Klasse festgelegt werden. Sehr wahrscheinlich haben Sie alte Eigenschaften irgendwo im Klassenpfad oder vielleicht eine andere Eigenschaftendatei mit derselben Eigenschaft. Versuchen Sie, Ihre Anwendung im ausführlichen Modus auszuführen, um den Klassenpfad abzurufen und darin nach geladenen Eigenschaftendateien zu suchen.

Verwandte Themen