Gibt es ein Tool, das eine Java-.properties-Datei für eine Klasse kompiliert, die ich in Java EE (Tomcat) -Anwendung verwenden kann? Ähnlich wie bei Android, wo das Eclipse-Plugin eine statische R.strings
-Klasse erzeugt.
Ich habe diesen Artikel gefunden:
Aber es ist abhängig von GWT. Jede Hilfe wird geschätzt.
Ich habe noch nie von einem solchen Werkzeug gehört. GWT hat eine großartige, auf verzögerter Bindung basierende Technik, aber es ist nicht das, wonach Sie suchen. Ich denke jedoch, dass es möglich ist, einen grundlegenden Code-Generator für solche Aufgaben zu implementieren.
Aber die Antwort auf Ihre Frage ist: soweit ich weiß, gibt es keine.
Um Anwendungen zu internationalisieren, habe ich einen Nachrichten-Compiler implementiert, der die Ressourcen-Bundle-Dateien und konstanten Definitionen als Java-Enums erstellt oder statische abschließende Zeichenfolgen für die Schlüssel aus einer einzigen Quelldatei. Daher können die Konstanten im Java-Quellcode verwendet werden, was eine viel sicherere Methode als die Verwendung einfacher Zeichenfolgen ist. In diesem Fall erhalten Sie auch einen Fehler bei der Kompilierung, wenn Sie eine Schlüsselkonstante verwenden, die nicht existiert. Der Nachrichtencompiler kann nicht nur für Java verwendet werden. Es erstellt auch Ressourcendateien und -konstanten für Objective-C oder Swift und kann für andere Programmierumgebungen erweitert werden.
Wie wäre es mit dem Speichern Ihrer Eigenschaften in einer JSON-Datei? Das JSON-Objekt, das in der Datei gespeichert ist, sollte einer Java-Klasse zugeordnet werden. Verwenden Sie den Jackson-Mapper zum Deserialisieren. Mit Jackson können Sie erzwingen, dass alle Felder beim Deserialisieren nicht null sein müssen. Sie können auch GSON verwenden und einen benutzerdefinierten Deserializer schreiben, der die Prüfungen so streng durchführt, wie Sie sie möchten. Beispiel - Sie können nicht null zusammen mit nicht leeren Zeichenfolgen erzwingen.
Compiler-unterstützte Lokalisierung (CAL10N) ist nicht genau das, was Sie gefragt haben, könnte aber hilfreich sein.
Obwohl es keine Java-Klassen aus .properties generiert, ist die Verwendung von Enums als Nachrichtenschlüssel immer noch besser als die Verwendung von Strings, wenn Sie Hilfe vom Compiler erhalten.
Deklarieren Sie eine Enumeration, binden Sie sie an .properties mit Annotation und verwenden Sie Enum-Werte in Nachrichtensuchen. Ich habe es aber noch nicht ausprobiert. Siehe Handbuch .
Tags und Links java localization