问题描述
最近做了一个项目,打包后读取不到配置文件,在eclipse中运行正常。目录结构如下:|——ChangeLanguage |——ResourceManager|——i18n |——message_en_US.properties |——message_zh_CN.properties下面是主要代码: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);请问怎么才能读取到配置文件?说明一下,我用 java -jar xx.jar运行时也能读取到配置文件;但是,当我用 @start javaw xxpackage.xxmain 运行时就读取不到配置文件了。我也把i18n所在的jar加入到classpath中去了。 问题补充:smithfox 写道
解决方案
做以下几步:1. 先将系统变量中的JAVA_HOME, JRE_HOME, PATH中的java路径全部清除2. 上面变量全部在你自己的shell中重新定义3. @start javaw Control.main这句改一下 @java -classpath %ClassPath% Control.main 先不用子进程方式启动,设置正确classpath,再确保java是正确的JDK路径中的java
解决方案二:
原则: 1. 在自己的Shell中完全覆盖系统默认安装的JDK或是JRE @SET JAVA_HOME=your_application_inner_JRE_path @SET JRE_HOME=your_application_inner_JRE_path2. 不要用任何现成的系统变量, PATH中的JRE路径放在系统PATH最前(正如你所做的) 3. 不要用CLASSPATH变量,指望java自己会找到这个CLASSPATH设置,非常不好,请用-classpath明确指明4. 用echo debug确认你的路径设置是对的,并且是起效的
解决方案三:
关键问题没有描述清楚,别人无从回答.@start javaw xxpackage.xxmain 是什么?可能就是因为这个框架的classloader机制问题引起的.