首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Commons配置: ClassNotFoundException: org.apache.commons.beanutils.DynaBean

Apache Commons配置: ClassNotFoundException: org.apache.commons.beanutils.DynaBean
EN

Stack Overflow用户
提问于 2018-08-23 17:55:58
回答 2查看 5.7K关注 0票数 10

我的POM包含:

代码语言:javascript
复制
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-configuration2</artifactId>
        <version>2.3</version>
    </dependency>

两个来自Quick start guide, Reading a properties file的示例代码:

代码语言:javascript
复制
Configurations configs = new Configurations();
try
{
    Configuration config = configs.properties(new File("config.properties"));
    // access configuration properties
    ...
}
catch (ConfigurationException cex)
{
    // Something went wrong
}

Properties files, Using PropertiesConfiguration

代码语言:javascript
复制
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
}

抛出:

代码语言:javascript
复制
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)
at properties.PropertiesTest.testLoadAndStoreWithCommonsConfiguration(PropertiesTest.java:52)
...
Caused by: java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean

mvn dependency:tree显示:

代码语言:javascript
复制
...
[INFO] +- org.apache.commons:commons-configuration2:jar:2.2:compile
[INFO] |  +- org.apache.commons:commons-lang3:jar:3.6:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.2:compile
...

commons-configuration2's POM包含:

代码语言:javascript
复制
    ...
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.9.3</version>
        <optional>true</optional><
    /dependency>
    ...
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-23 18:02:27

我将the following dependency添加到我的POM中,它起作用了:

代码语言:javascript
复制
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.9.3</version>
    </dependency>

更新

The latest POM of commons-configuration2 (截至10月21日)声明了<version>1.9.4。我没有尝试过,但它可能适用于更高版本的Commons配置。

票数 15
EN

Stack Overflow用户

发布于 2021-04-22 13:05:02

代码语言:javascript
复制
<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.4</version>
</dependency>

pom.xml中添加代码后,我发现它不能工作。

我下载了jar,将其放入Web-INF下的lib内容中,然后它就可以工作了。

我认为Maven的插件日志导致了它的死亡,它不能自动更新或删除jar。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51983073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档