我现在将国际化资源文件properties文件放入了jar包里面去了,是不是不能使用
Locale locale=new Locale(infoBean.getLang());
ResourceBundle messages = ResourceBundle.getBundle("src",locale);
这样的代码来根据不同的用户环境获取不同的资源文件了呢?资源文件名为src_XX.properties。
会报 Can't find bundle for base name src, locale zh 这个错误。
请问一下如何做到在jar包中的资源文件也能根据不同的用户来国际化呢?
多谢了!
[quote]那是不是说ResourceBundle.getBundle()这个应该不能用于jar中获取资源文件了呢?
谢谢! [/quote]
可以从jar中读取资源文件。关键是,你的J2SE应用,找不到jar包,jar包不在classpath中。。。。
[b]src_XX.properties[/b]
在Jar包中的路径是什么?
[b]假如:src_XX.properties 在jar包中的路径是 aaa/bbb/ccc/src_XX.properties
那么你的程序应该这样调用:[/b]
[code="java"]
ResourceBundle.getBundle("aaa.bbb.ccc.src", locale);[/code]
[b]
1、jar是否引用?
2、jar包中的路径是否正确? 建议解压后,看看路径[/b]
[quote]jar是否应用是什么意思? [/quote]
是否在你的Classpath中?
你的项目是什么样的?WEB?JavaSE?
你把jar包,放在classpath中啊。这样系统就会自动加载jar包了。
[b]
[quote]
JavaSE 项目通过外部输入的jar包地址读取jar包中的配置文件(配置文件中有配置信息),[/quote]
[color=blue]换成Properties,通过流的方式,加载指定jar包中的属性文件(关键是文件名的匹配),然后解析。[/color][/b]