Apache Commons 配置无法保存
Apache Commons Configuration Cant save
我正在使用 Apache Commons Configuration 将一些属性保存在位于包 re/iprocu/coperativeerp/config/payment/configurations.properties
中的属性文件中
private PropertiesConfiguration configs = new PropertiesConfiguration("re/iprocu/coperativeerp/config/payment/configurations.properties");
configs.setAutoSave(true);
configs.setProperty(date.getYear()+"-"+date.getMonthValue()+"-01", offsetMember);
问题是当我运行上面的代码时我得到以下错误
Exception in thread "JavaFX Application Thread" org.apache.commons.configuration.ConfigurationRuntimeException: Failed to auto-save
at org.apache.commons.configuration.AbstractFileConfiguration.possiblySave(AbstractFileConfiguration.java:753)
at org.apache.commons.configuration.AbstractFileConfiguration.clearProperty(AbstractFileConfiguration.java:799)
at org.apache.commons.configuration.AbstractConfiguration.setProperty(AbstractConfiguration.java:485)
at org.apache.commons.configuration.AbstractFileConfiguration.setProperty(AbstractFileConfiguration.java:788)
更新
Apache Commons 配置 V.1.10
Maven 依赖
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>
您无法保存指向 JAR 中文件的配置。尝试使用位于 JAR 外部的配置文件,您会看到自动保存选项正常工作。
编辑
您可以将文件放在 JAR 中,也可以放在默认位置之一的相同相对路径中。 the documentation 是这么说的。
If you do not specify an absolute path, the file will be searched automatically in the following locations:
- in the current directory
- in the user home directory
- in the classpath
因此,例如,如果您的 JAR 中有一个默认属性文件,位于 conf/configuration.properties
,您可以将这些属性放在用户主目录中的同一相对路径下 - 例如在 Linux /home/username/conf/configuration.properties
上或与您的 JAR 文件位于同一目录中。两者都应该足够安全。
我正在使用 Apache Commons Configuration 将一些属性保存在位于包 re/iprocu/coperativeerp/config/payment/configurations.properties
private PropertiesConfiguration configs = new PropertiesConfiguration("re/iprocu/coperativeerp/config/payment/configurations.properties");
configs.setAutoSave(true);
configs.setProperty(date.getYear()+"-"+date.getMonthValue()+"-01", offsetMember);
问题是当我运行上面的代码时我得到以下错误
Exception in thread "JavaFX Application Thread" org.apache.commons.configuration.ConfigurationRuntimeException: Failed to auto-save
at org.apache.commons.configuration.AbstractFileConfiguration.possiblySave(AbstractFileConfiguration.java:753)
at org.apache.commons.configuration.AbstractFileConfiguration.clearProperty(AbstractFileConfiguration.java:799)
at org.apache.commons.configuration.AbstractConfiguration.setProperty(AbstractConfiguration.java:485)
at org.apache.commons.configuration.AbstractFileConfiguration.setProperty(AbstractFileConfiguration.java:788)
更新
Apache Commons 配置 V.1.10
Maven 依赖
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>
您无法保存指向 JAR 中文件的配置。尝试使用位于 JAR 外部的配置文件,您会看到自动保存选项正常工作。
编辑
您可以将文件放在 JAR 中,也可以放在默认位置之一的相同相对路径中。 the documentation 是这么说的。
If you do not specify an absolute path, the file will be searched automatically in the following locations:
- in the current directory
- in the user home directory
- in the classpath
因此,例如,如果您的 JAR 中有一个默认属性文件,位于 conf/configuration.properties
,您可以将这些属性放在用户主目录中的同一相对路径下 - 例如在 Linux /home/username/conf/configuration.properties
上或与您的 JAR 文件位于同一目录中。两者都应该足够安全。