[JAVA] Erste Schritte mit dem Erstellen von Ressourcenpaketen mit ListResoueceBundle

Einführung

Während des Studiums von Java Gold wollte ich die Externalisierung von Informationen und verschiedenen Eigenschaftendateien mithilfe von Beispielcode verstehen. Deshalb habe ich den Code in einer integrierten Entwicklungsumgebung geschrieben und ausgeführt.

Egal wie viel ich versuche, ich erhalte eine MissingResoueceException.

Warum….

Als Ergebnis von Versuch und Irrtum, während ich auf den Laufzeitfehler schaute, konnte ich die zu beachtenden Punkte kennen. Das Folgende ist ein Memorandum.

Beispielcode

MyResource.java


package com.example.Locale.properties;

import java.util.ListResourceBundle;

public class MyResource extends ListResourceBundle{

	private final static String resources[][] = {
	        {"helloworld", "Hello, World!"},
	        {"key","This is MyResource's key!"}
	    };
	@Override
	protected Object[][] getContents() {
		return resources;
	}
}

Ich möchte den im obigen Code beschriebenen "Schlüssel" in der Ausführungsklasse erhalten.

Da ListResourceBundle eine abstrakte Klasse ist, ist es außerdem wichtig, die abstrakte Methode "getContents" zu implementieren.

Vorsichtsmaßnahmen in der Ausführungsklasse

  1. Achten Sie darauf, wo sich die Klassendateien befinden

Angenommen, der folgende Beispielcode wird angezeigt.

ResourceBundle rb = ResourceBundle.getBundle("MyResource");

Ich konnte es jedoch nicht gut machen.

Als Ergebnis einer kurzen einstündigen Untersuchung verwendete Kuromoto das Studium (Gründliche Erfassung der Java SE 8 Gold-Problemsammlung). % E6% 94% BB% E7% 95% A5-Java-Gold-% E5% 95% 8F% E9% A1% 8C% E9% 9B% 86-1Z0-809 / dp / 4295000035 / ref = asc_df_4295000035 /? = jpo-22 & linkCode = df0 & hvadid = 288845875882 & hvpos = 1o1 & hvnetw = g & hvrand = 1789597220371198337 & hvpone = & hvptwo = & hvqmt = / hvdev = c & hvdvcmdl = & hvlocph = Es war.

[Achtung] Wenn die Ressourcenpaketklasse ** im Paket enthalten ist **, vergessen Sie nicht, sie mit dem Paketnamen zu qualifizieren.

Das heißt, der in getBundle zu beschreibende Name musste ein vollständig qualifizierter Name sein, einschließlich des Paketnamens.

Im obigen Code musste sich die MyResource-Klasse im Standardpaket befinden. Da es jedoch tatsächlich im Paket definiert wurde, müssen Sie die Datei verschieben oder in Klammern mit einem vollständig qualifizierten Namen schreiben.

Im Folgenden wird ein Teil der Ausführungsklasse aufgeführt, der mit dem vollständig qualifizierten Namen und dem Ausführungsergebnis beschrieben wird.

Main.java


//Beschreiben Sie den Namen der Ressourcenklasse als vollständig qualifizierten Namen.
		ResourceBundle rb = ResourceBundle.getBundle("com.example.Locale.properties.MyResource");
		String message = rb.getString("key");
		System.out.println(message);
This is MyResource's key!

Nachwort

Da ich aufgrund körperlicher und geistiger Probleme nicht vor Ort arbeite, kann der Inhalt falsch oder altmodisch sein. Wenn ich es jedoch in Zukunft bemerke oder herausfinde, werde ich es als Memorandum aufschreiben. Ich würde gerne kommen.

Ich wäre Ihnen dankbar, wenn Sie zu tatsächlichen Erfahrungen oder Vorschlägen Stellung nehmen könnten.

Danke fürs Lesen.

Recommended Posts

Erste Schritte mit dem Erstellen von Ressourcenpaketen mit ListResoueceBundle
Erste Schritte mit DBUnit
Erste Schritte mit Ruby
Erste Schritte mit Swift
Erste Schritte mit Doma-Transaktionen
Erste Schritte mit der Verarbeitung von Doma-Annotationen
Erste Schritte mit Java Collection
Erste Schritte mit JSP & Servlet
Erste Schritte mit Java Basics
Erste Schritte mit Spring Boot
Erste Schritte mit Ruby-Modulen
Erste Schritte mit Java und Erstellen eines Ascii Doc-Editors mit JavaFX
Erste Schritte mit Java_Kapitel 5_Praktische Übungen 5_4
[Google Cloud] Erste Schritte mit Docker
Erste Schritte mit Docker mit VS-Code
Erste Schritte mit dem Doma-Criteria API Cheet Sheet
Erste Schritte mit Ruby für Java-Ingenieure
Erste Schritte mit Docker für Mac (Installation)
Einführung in den Parametrisierungstest in JUnit
Einführung in Java ab 0 Teil 1
Erste Schritte mit Ratpack (4) -Routing & Static Content
Erste Schritte mit Java_Kapitel 8_Über "Instanzen" und "Klassen"
Links & Memos für den Einstieg in Java (für mich)
Erste Schritte mit der Doma-Projektion mit der Criteira-API
Erste Schritte mit Java 1 Ähnliche Dinge zusammenstellen
Erste Schritte mit Kotlin zum Senden an Java-Entwickler
Erste Schritte mit Doma-Using Joins mit der Criteira-API
Erste Schritte mit Doma-Einführung in die Kriterien-API
Ich habe versucht, mit Gradle auf Heroku zu beginnen
Erste Schritte mit Java-Programmen mit Visual Studio Code
Erste Schritte mit älteren Java-Ingenieuren (Stream + Lambda)
Beginnen Sie mit Gradle
Erste Schritte mit Doma-Dynamic Erstellen von WHERE-Klauseln mit der Kriterien-API
Erste Schritte mit Reactive Streams und der JDK 9 Flow API
Erste Schritte mit der Git Hub Container Registry anstelle von Docker Hub