java中的ResourceBundle重新加载错误

java中的ResourceBundle重新加载错误,java,maven,resourcebundle,Java,Maven,Resourcebundle,我正在使用以下代码从我的项目中加载资源 ResourceBundle props=ResourceBundle.getBundle("db"); 这很好。但是在这次加载之后,我修改了同一个文件,并试图从该文件中获取最新的内容。 再次使用上述代码加载同一个文件将返回旧文件内容。我想它是从缓存加载的。如何重新加载此资源 是的,默认情况下,由getBundle工厂方法创建的资源包实例是缓存的,因此您可以通过以下方式避免这种情况 清除缓存ResourceBundle.clearCache(类加载器)

我正在使用以下代码从我的项目中加载资源

ResourceBundle props=ResourceBundle.getBundle("db");
这很好。但是在这次加载之后,我修改了同一个文件,并试图从该文件中获取最新的内容。
再次使用上述代码加载同一个文件将返回旧文件内容。我想它是从缓存加载的。如何重新加载此资源

是的,默认情况下,由getBundle工厂方法创建的资源包实例是缓存的,因此您可以通过以下方式避免这种情况

  • 清除缓存<代码>ResourceBundle.clearCache(类加载器)
  • 使用生存时间值管理缓存的资源束实例的生存期。使用方法类ResourceBundle.Control
    public long gettimeOlive(字符串baseName,区域设置)

  • 指定不缓存资源包实例。使用方法Class ResourceBundle.Control
    public boolean needsReload(String baseName、Locale、String格式、ClassLoader、ResourceBundle bundle、long loadTime)


  • 我尝试了clearCache(),但它仍然无法工作。在将新内容写入文件后,我得到了旧的更改。我正在运行maven命令,它创建了一个包含所有编译代码的文件夹。但我正在修改src/test/resource文件夹中的资源。但资源包正在从目标文件夹加载资源。您对此有什么解决方案吗?所有输出文件都将存放在目标文件夹中。所以,如果您正在更改文件中的文本,则可以使用类路径。他的推荐信已经解决了。问题是类路径加载