配置与 PropertiesConfiguration
Configuration vs. PropertiesConfiguration
我在使用 Apache Commons Configuration 中的 Configuration 和 PropertiesConfiguration 类型时遇到了一些概念上的困难。
PropertiesConfiguration config = createConfig();
BlazeGraphEmbedded graph = BlazeGraphEmbedded.open(repo, config);
createConfig() 方法:
public static PropertiesConfiguration createConfig()
{
PropertiesConfiguration config = null;
Parameters params = new Parameters();
BasicConfigurationBuilder<PropertiesConfiguration> builder =
new BasicConfigurationBuilder<PropertiesConfiguration>(PropertiesConfiguration.class)
.configure(params.basic()
.setListDelimiterHandler(new DefaultListDelimiterHandler(','))
.setThrowExceptionOnMissing(true));
try {
config = builder.getConfiguration();
config.addProperty("VALUE_FACTORY", BVF_extendo4000.INSTANCE);
} catch (ConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Returning config.");
return config;
}
我正在尝试创建一个配置对象以传递给 class BlazeGraphEmbedded 中的打开方法。但是,我的 createConfig 方法 returns 一个 PropertiesConfiguration 对象,方法 BlazeGraphEmbedded.open(Repository, Configuration) 不会接受它。我无法将 PropertiesConfiguration 转换为 Configuration,它产生了 运行time 错误:
Exception in thread "main" java.lang.ClassCastException:
org.apache.commons.configuration2.PropertiesConfiguration cannot be cast to
org.apache.commons.configuration.Configuration
我知道 Configuration 是一个由 PropertiesConfiguration 实现的接口,但我不清楚如何使用这两种不同类型来制作我的程序的细节 运行。
问题出在我的导入语句中。我有:
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration2.PropertiesConfiguration;
所以我从两个不同的来源导入,因此类型不兼容。
我在使用 Apache Commons Configuration 中的 Configuration 和 PropertiesConfiguration 类型时遇到了一些概念上的困难。
PropertiesConfiguration config = createConfig();
BlazeGraphEmbedded graph = BlazeGraphEmbedded.open(repo, config);
createConfig() 方法:
public static PropertiesConfiguration createConfig()
{
PropertiesConfiguration config = null;
Parameters params = new Parameters();
BasicConfigurationBuilder<PropertiesConfiguration> builder =
new BasicConfigurationBuilder<PropertiesConfiguration>(PropertiesConfiguration.class)
.configure(params.basic()
.setListDelimiterHandler(new DefaultListDelimiterHandler(','))
.setThrowExceptionOnMissing(true));
try {
config = builder.getConfiguration();
config.addProperty("VALUE_FACTORY", BVF_extendo4000.INSTANCE);
} catch (ConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Returning config.");
return config;
}
我正在尝试创建一个配置对象以传递给 class BlazeGraphEmbedded 中的打开方法。但是,我的 createConfig 方法 returns 一个 PropertiesConfiguration 对象,方法 BlazeGraphEmbedded.open(Repository, Configuration) 不会接受它。我无法将 PropertiesConfiguration 转换为 Configuration,它产生了 运行time 错误:
Exception in thread "main" java.lang.ClassCastException:
org.apache.commons.configuration2.PropertiesConfiguration cannot be cast to
org.apache.commons.configuration.Configuration
我知道 Configuration 是一个由 PropertiesConfiguration 实现的接口,但我不清楚如何使用这两种不同类型来制作我的程序的细节 运行。
问题出在我的导入语句中。我有:
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration2.PropertiesConfiguration;
所以我从两个不同的来源导入,因此类型不兼容。