【问题标题】:property file location java属性文件位置 java
【发布时间】:2014-03-11 04:40:07
【问题描述】:

我的项目结构如下

projectxyz
  src
    com.example
        abc.java
  resources
        abc.properties

我想从abc.java 读取属性文件。我如何使用资源包做到这一点。我知道如何使用资源包。

ResourceBundle bundle =ResourceBundle.getBundle("resources\\ApplicationResources.properties");

但是这段代码不起作用。问题出在属性文件的路径上。如何获取src文件夹外文件的路径??

【问题讨论】:

    标签: java eclipse properties


    【解决方案1】:

    您的项目结构看起来像 maven。所以编译后你的war文件中不会有任何资源文件夹。资源文件夹中的任何文件夹在编译后都会在 WEB-INF 文件夹中。所以你必须给出来自/WEB-INF 的路径。

    如果您使用的是struts2,则不需要上述步骤。只需在resources文件夹下创建一个文件名struts.properties, 并在该文件中添加以下条目。

    struts.custom.i18n.resources = ApplicationResources
    

    这就是诀窍。

    【讨论】:

    【解决方案2】:

    尝试不使用 .properties...

    ResourceBundle bundle =ResourceBundle.getBundle("resources\\ApplicationResources");
    

    另外, 参考this

    【讨论】:

    • 没有用。是否可以将文件放在 src 文件夹之外。
    • 属性文件需要在类路径中.. 并且可能在 src 文件夹之外。或者属性文件路径可以是绝对指向文件的物理位置。您能否发布进行此更改后遇到的错误?
    • HTTP 状态 500 - 无法实例化操作,com.example.abc,为命名空间中的“登录”定义“/”找不到基本名称资源\ApplicationResources 的捆绑包,语言环境 en_US
    【解决方案3】:
    Do not write .properties:
    And also ensure that properties file is in classpath else specify the full path using ..\\..
    
    ResourceBundle bundle =ResourceBundle.getBundle("ApplicationResources");
    

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      相关资源
      最近更新 更多