相关疑难解决方法(0)

Apache 公共配置:ClassNotFoundException:org.apache.commons.beanutils.DynaBean

我的 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

9
推荐指数
1
解决办法
5168
查看次数

为什么Maven没有解析commons-configuration的所有依赖项?

摘要

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)

java maven apache-commons-config

7
推荐指数
1
解决办法
9825
查看次数