[JAVA] Premiers pas avec la création d'ensembles de ressources avec ListResoueceBundle

introduction

Tout en étudiant java Gold, je voulais comprendre l'externalisation des informations et divers fichiers de propriétés à l'aide d'exemples de code, j'ai donc écrit et exécuté le code dans un environnement de développement intégré.

Cependant, peu importe combien j'essaye, j'obtiens une MissingResoueceException.

Pourquoi….

À la suite d'essais et d'erreurs en jetant un coup d'œil sur l'erreur d'exécution, j'ai pu connaître les points à noter. Ce qui suit est un mémorandum.

Exemple de code

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;
	}
}

Je voudrais obtenir la "clé" décrite dans le code ci-dessus dans la classe d'exécution.

De plus, puisque ListResourceBundle est une classe abstraite, il est essentiel d'implémenter la méthode abstraite "getContents".

Précautions dans la classe d'exécution

  1. Soyez conscient de l'emplacement des fichiers de classe

Par exemple, supposons que l'exemple de code suivant soit affiché.

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

Cependant, je ne pouvais pas bien comprendre cela.

À la suite d'une enquête d'une petite heure, Kuromoto a utilisé pour étudier ([Thorough capture Java SE 8 Gold problem collection](https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95] % 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 = & hvlarg1 = & hvlarg1 = c & hvdvcmdl = & hvlarg1 = & hvlarg1 C'était.

[Attention] Si la classe du bundle de ressources est ** incluse dans le package **, n'oubliez pas de la qualifier avec le nom du package.

Autrement dit, le nom à décrire dans getBundle devait être un nom complet comprenant le nom du package.

Dans le code ci-dessus, la classe MyResource devait être dans le package par défaut. Cependant, comme il a été réellement défini dans le package, vous devez déplacer le fichier ou l'écrire entre parenthèses avec un nom complet.

Ci-dessous, une partie de la classe d'exécution décrite avec le nom complet et le résultat de l'exécution sont répertoriés.

Main.java


//Décrivez le nom de la classe de ressources comme un nom qualifié complet.
		ResourceBundle rb = ResourceBundle.getBundle("com.example.Locale.properties.MyResource");
		String message = rb.getString("key");
		System.out.println(message);
This is MyResource's key!

Épilogue

Comme je ne travaille pas réellement sur le terrain en raison de problèmes physiques et mentaux, le contenu peut être incorrect ou démodé, mais si je le remarque ou le découvre à l'avenir, je l'écrirai sous forme de mémorandum. J'aimerais venir.

Je vous serais reconnaissant de bien vouloir commenter vos expériences ou suggestions réelles.

Merci pour la lecture.

Recommended Posts

Premiers pas avec la création d'ensembles de ressources avec ListResoueceBundle
Premiers pas avec DBUnit
Premiers pas avec Ruby
Premiers pas avec Swift
Premiers pas avec Doma-Transactions
Premiers pas avec le traitement Doma-Annotation
Premiers pas avec Java Collection
Premiers pas avec JSP et servlet
Premiers pas avec les bases de Java
Premiers pas avec Spring Boot
Premiers pas avec les modules Ruby
Premiers pas avec Java et création d'un éditeur Ascii Doc avec JavaFX
Premiers pas avec Java_Chapitre 5_Exercices pratiques 5_4
[Google Cloud] Premiers pas avec Docker
Premiers pas avec Docker avec VS Code
Premiers pas avec Doma-Criteria API Cheet Sheet
Premiers pas avec Ruby pour les ingénieurs Java
Premiers pas avec Docker pour Mac (installation)
Introduction au test de paramétrage dans JUnit
Introduction à Java à partir de 0 Partie 1
Premiers pas avec Ratpack (4) - Routage et contenu statique
Premiers pas avec Java_Chapter 8_A propos des "Instances" et des "Classes"
Liens et mémos pour démarrer avec Java (pour moi-même)
Premiers pas avec Doma-Using Projection avec l'API Criteira
Premiers pas avec les sous-requêtes utilisant Doma avec l'API Criteria
Premiers pas avec Java 1 Assembler des éléments similaires
Premiers pas avec Kotlin à envoyer aux développeurs Java
Premiers pas avec Doma-Using Joins avec l'API Criteira
Premiers pas avec Doma - Introduction à l'API Criteria
J'ai essayé de démarrer avec Gradle sur Heroku
Prise en main des programmes Java à l'aide de Visual Studio Code
Premiers pas avec les anciens ingénieurs Java (Stream + Lambda)
Commencez avec Gradle
Premiers pas avec Doma-Dynamic Construction de clauses WHERE avec l'API Criteria
Premiers pas avec Reactive Streams et l'API JDK 9 Flow
Premiers pas avec Git Hub Container Registry au lieu de Docker Hub