最近做了一个项目,打包后读取不到配置文件,在eclipse中运行正常。
目录结构如下:
|——ChangeLanguage
|——ResourceManager
|——i18n
|——message_en_US.properties
|——message_zh_CN.properties
下面是主要代码:
[code="java"]
private static final String RESOURCE_NAME = "i18n.Message";
private ResourceBundle bundle;
private Locale locale;
locale = new Locale("zh", "CN");
bundle = ResourceBundle.getBundle(RESOURCE_NAME, locale);
[/code]
请问怎么才能读取到配置文件?
说明一下,我用 java -jar xx.jar运行时也能读取到配置文件;但是,当我用 @start javaw xxpackage.xxmain 运行时
就读取不到配置文件了。我也把i18n所在的jar加入到classpath中去了。
做以下几步:
1. 先将系统变量中的JAVA_HOME, JRE_HOME, PATH中的java路径全部清除
2. 上面变量全部在你自己的shell中重新定义
3. @start javaw Control.main这句改一下
@java -classpath %ClassPath% Control.main
先不用子进程方式启动,设置正确classpath,再确保java是正确的JDK路径中的java
关键问题没有描述清楚,别人无从回答.
@start javaw xxpackage.xxmain 是什么?
可能就是因为这个框架的classloader机制问题引起的.
原则:
不要用任何现成的系统变量, PATH中的JRE路径放在系统PATH最前(正如你所做的)
不要用CLASSPATH变量,指望java自己会找到这个CLASSPATH设置,非常不好,请用-classpath明确指明
用echo debug确认你的路径设置是对的,并且是起效的