我的 POM 包含:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
快速入门指南读取属性文件中的两个示例代码:
Configurations configs = new Configurations();
try
{
Configuration config = configs.properties(new File("config.properties"));
// access configuration properties
...
}
catch (ConfigurationException cex)
{
// Something went wrong
}
Run Code Online (Sandbox Code Playgroud)
和属性文件,使用 PropertiesConfiguration:
Parameters params = new Parameters();
FileBasedConfigurationBuilder<FileBasedConfiguration> builder =
new FileBasedConfigurationBuilder<FileBasedConfiguration>(PropertiesConfiguration.class)
.configure(params.properties()
.setFileName("usergui.properties"));
try
{
Configuration config = builder.getConfiguration();
...
}
catch(ConfigurationException cex)
{
// loading of the configuration file failed
}
Run Code Online (Sandbox Code Playgroud)
抛出:
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
...
at org.apache.commons.configuration2.builder.fluent.Parameters.createParametersProxy(Parameters.java:307)
at org.apache.commons.configuration2.builder.fluent.Parameters.fileBased(Parameters.java:186) …Run Code Online (Sandbox Code Playgroud) dependencies pom.xml maven apache-commons-config transitive-dependency
XMLConfiguration configuration = new XMLConfiguration("config/config.xml");仅在尝试时commons-configuration 1.10我需要为我的maven设置添加更多依赖项(即commons-collections不比新项目更新3.2.1).为什么会这样,为什么maven不能简单地解决所有需要的依赖?
我试图让commons-configuration工作.首先,我想使用最新版本2.0-alpha2,因为我无法配置Maven来下载正确的资源,所以它完全不能正常工作 - 但这是另一回事.
在我发现版本1.10实际上是"一点十"(而不是"一点一零")并且因此是最新版本的commons-configuration 1(并且由教程覆盖)之后,我决定试一试.
对于我的maven依赖项(集成在eclipse中)我用过:
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但是,在尝试这个例子时:
package main;
import java.util.Iterator;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
public class ConfigurationTest {
public static void main(String... args) {
try {
XMLConfiguration configuration =
new XMLConfiguration("config/config.xml");
Iterator<String> iterator = configuration.getKeys();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用以下config.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<configuration>
<property>value</property> …Run Code Online (Sandbox Code Playgroud)