u011385241
尐钢
2010-12-03 23:35

关于java打包后,读取不到配置文件的问题

已采纳

最近做了一个项目,打包后读取不到配置文件,在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中去了。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • iteye_13980 iteye_13980 11年前

    做以下几步:
    1. 先将系统变量中的JAVA_HOME, JRE_HOME, PATH中的java路径全部清除
    2. 上面变量全部在你自己的shell中重新定义
    3. @start javaw Control.main这句改一下
    @java -classpath %ClassPath% Control.main

    先不用子进程方式启动,设置正确classpath,再确保java是正确的JDK路径中的java

    点赞 评论 复制链接分享
  • iteye_13980 iteye_13980 11年前

    原则:

    1. 在自己的Shell中完全覆盖系统默认安装的JDK或是JRE @SET JAVA_HOME=your_application_inner_JRE_path @SET JRE_HOME=your_application_inner_JRE_path
    2. 不要用任何现成的系统变量, PATH中的JRE路径放在系统PATH最前(正如你所做的)

    3. 不要用CLASSPATH变量,指望java自己会找到这个CLASSPATH设置,非常不好,请用-classpath明确指明

    4. 用echo debug确认你的路径设置是对的,并且是起效的

    点赞 评论 复制链接分享
  • iteye_13980 iteye_13980 11年前

    关键问题没有描述清楚,别人无从回答.

    @start javaw xxpackage.xxmain 是什么?

    可能就是因为这个框架的classloader机制问题引起的.

    点赞 评论 复制链接分享

相关推荐