2012-07-06 3 views
0

J'ai vraiment besoin d'aide ici, j'ai un paquet qui charge essentiellement le bon fichier de propriétés locales afin de charger la bonne langue.Fragments dans Knopflerfish

Maintenant, ces fichiers, FlashcardsMessages_es.properties, FlashcardsMessages_de.properties sont dans un paquet séparé en tant que fragment, mais pour une raison quelconque, il semble que mon paquet ne trouve pas le fragment.

java.util.MissingResourceException: Can't find bundle for base name de.tud.cs.se.flashcards.ui.FlashcardsMessages, locale es_MX 
    at java.util.ResourceBundle.throwMissingResourceException(Unknown Source) 
    at java.util.ResourceBundle.getBundleImpl(Unknown Source) 
    at java.util.ResourceBundle.getBundle(Unknown Source) 
    at de.tud.cs.se.flashcards.ui.Messages.getMessage(Messages.java:65) 

Ceci est l'erreur que je suis arrivé.

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: FlashCardOSGiED 
Bundle-SymbolicName: FlashCardOSGiED 
Bundle-Version: 1.0.0.qualifier 
Bundle-Activator: Activator 
Export-Package: ., 
de.tud.cs.se.flashcards.model, 
de.tud.cs.se.flashcards.model.learning, 
de.tud.cs.se.flashcards.model.learning.basic, 
de.tud.cs.se.flashcards.persistence, 
de.tud.cs.se.flashcards.ui, 
de.tud.cs.util 
Bundle-RequiredExecutionEnvironment: JavaSE-1.7 
Import-Package: javax.imageio, 
javax.swing, 
javax.swing.border, 
javax.swing.event, 
org.osgi.framework, 
org.osgi.util.tracker 

Ce manifeste est mon paquet

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: LocaleFragment 
Bundle-SymbolicName: LocaleFragment;singleton:=true 
Bundle-Version: 1.0.0.qualifier 
Fragment-Host: FlashCardOSGiED 
Bundle-RequiredExecutionEnvironment: JavaSE-1.7 
Export-Package: de.tud.cs.se.flashcards.ui 

C'est le manifeste de mon fragment.

Si quelqu'un pouvait me donner une idée de ce qui pourrait ne pas être génial. EDIT: J'ai trouvé le problème, donc eclipse ou java ne mettra pas de ressources comme des fichiers de propriétés ou des images dans le fichier quand le compilateur s'exécutera, donc ma solution était de placer les fichiers de propriétés dans le dossier "classes" et puis après avoir compilé eclipse a mis les fichiers dans les fichiers jar correctement. J'ai trouvé ceci dans un autre site Web mais certaines des suggestions ici m'ont inspiré en regardant dans cette direction ainsi merci beaucoup.

+0

Difficile à dire à partir de cette info. Le fragment contient-il définitivement le fichier 'de/tud/cs/se/flashcards/ui/FlashcardsMessages_es_MX.properties'? Avez-vous vérifié dans le shell que le fragment est réellement attaché à l'hôte? –

Répondre

0

Essayez une actualisation sur l'ensemble hôte.

Si le fragment était attaché à l'hôte, c'est peut-être la manière dont vous avez empaqueté la ressource dans l'ensemble de fragments, ou comment vous avez défini le chemin d'accès à la ressource dans votre code hôte.

+0

déjà essayé cela, et cela n'a pas fonctionné, je ne l'ai pas laissé dans mon paquet parce que je pensais qu'il ne faisait rien. – memo

+0

Require/Provide-Capability sont des en-têtes R4.3 et ne sont pas encore supportés par Knopflerfish. De toute façon, ils ne semblent pas pertinents ici. –

+0

je vois. Mal éditer ça, merci. @memo: le chemin que vous avez défini pour la ressource était peut-être incorrect. voir cette référence: https://blogs.oracle.com/chengfang/entry/p_java_util_missingresourceexception_can – sky4