java.util.MissingResourceException: Bündel für Basisname kann nicht gefunden werden

8

Ich teste die i18n-Funktionen von Java und habe ein Problem. Ich kann die Sprachdatei nicht laden, wenn sie nicht im Stammverzeichnis der Klasse ist. Momentan befinden sich meine Dateien im Verzeichnis /lang .

Suchte mehrere Antworten hier in SO, legte es in ein classes -Unterverzeichnis und lud es wie lang.Messages , verwendete vollständiges Standort-Routing /Test/lang/Message (test ist der Projektname), benutze nur /lang/Message und immer noch I ' Ich bekomme das:

  

java.util.MissingResourceException: Can't find bundle for base name

Fehler.

Sonst noch etwas zu versuchen?

Meine Dateistruktur ist:

  

Test/lang/Messages_es.properties

     

Test/src/test/Main.java

%Vor%     
Gabriel A. Zorrilla 01.08.2010, 18:18
quelle

1 Antwort

8

Sie müssen Ihren Gebietsschema-Namen in Ihrem Eigenschaftendateinamen haben.

Benennen Sie Ihre Eigenschaftendatei in Messages_es.properties

um

Da Sie kein Paket deklariert haben, können sich sowohl Ihre kompilierte Klassendatei als auch die Eigenschaftendatei im selben Stammverzeichnis befinden.

BEARBEITEN als Antwort auf Kommentare:

Nehmen wir an, Sie haben diese Projektstruktur:

test\src\foo\Main.java ( foo ist der Paketname)

%Vor%

test\bin\resources\Messages_es.properties (die Eigenschaftendatei befindet sich im Ordner resources in Ihrem Klassenpfad)

Sie können dies mit:

ausführen %Vor%

Aktualisierter Quellcode:

%Vor%

Wie Sie sehen, laden wir die Eigenschaftendatei mit dem Namen "resources.Messages"

Hoffe, das hilft.

    
Marimuthu Madasamy 01.08.2010, 18:36
quelle