【发布时间】:2012-07-06 10:47:19
【问题描述】:
我真的需要帮助,我有一个包,它基本上可以加载正确的语言环境属性文件以加载正确的语言。
现在,这些文件 FlashcardsMessages_es.properties、FlashcardsMessages_de.properties 作为片段位于单独的包中,但由于某种原因,我的包似乎没有找到片段。
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)
这是我得到的错误。
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
这是我的捆绑清单
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
这是我片段的清单。
如果有人能告诉我可能出了什么问题,那就太棒了。
编辑:我发现了问题,所以当编译器运行时,eclipse或java不会将属性文件或图像文件等任何资源放在jar中,所以我的解决方案是将属性文件放在“类”文件夹中,然后编译eclipse后确实将文件正确放入jar文件中。我在其他一些网站上找到了这个,但这里的一些建议启发了我去寻找这个方向,非常感谢。
【问题讨论】:
-
从这个信息很难说。片段是否肯定包含文件
de/tud/cs/se/flashcards/ui/FlashcardsMessages_es_MX.properties?您是否在 shell 中验证了该片段实际上已附加到主机?
标签: java osgi knopflerfish