NoSuchMethodError: org.apache.commons.beanutils.PropertyUtilsBean.addBeanIntrospector

不知道怎么解决

import org.apache.commons.configuration2.{FileBasedConfiguration, PropertiesConfiguration}
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder
import org.apache.commons.configuration2.builder.fluent.Parameters

/**
  * 配置工具类
  */
object ConfigurationManager {
  // 创建用于初始化配置生成器实例的参数对象
  private val params = new Parameters()
  // FileBasedConfigurationBuilder:产生一个传入的类的实例对象
  // FileBasedConfiguration:融合FileBased与Configuration的接口
  // PropertiesConfiguration:从一个或者多个文件读取配置的标准配置加载器
  // configure():通过params实例初始化配置生成器
  // 向FileBasedConfigurationBuilder()中传入一个标准配置加载器类,生成一个加载器类的实例对象,然后通过params参数对其初始化
  private val builder = new FileBasedConfigurationBuilder[FileBasedConfiguration](classOf[PropertiesConfiguration])
    .configure(params.properties().setFileName("abc.properties"))

  // 通过getConfiguration获取配置对象
  val config = builder.getConfiguration()
}

在进行调用的时候

val jsonStr = ConfigurationManager.config.getString(Constants.TASK_PARAMS)

报如下错:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.beanutils.PropertyUtilsBean.addBeanIntrospector(Lorg/apache/commons/beanutils/BeanIntrospector;)V
	at org.apache.commons.configuration2.beanutils.BeanHelper.initBeanUtilsBean(BeanHelper.java:631)
	at org.apache.commons.configuration2.beanutils.BeanHelper.<clinit>(BeanHelper.java:89)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.sun.proxy.$Proxy0.<clinit>(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:739)
	at org.apache.commons.configuration2.builder.fluent.Parameters.createParametersProxy(Parameters.java:307)
	at org.apache.commons.configuration2.builder.fluent.Parameters.properties(Parameters.java:246)
	at com.atguigu.commons.conf.ConfigurationManager$.<init>(ConfigurationManager.scala:24)
	at com.atguigu.commons.conf.ConfigurationManager$.<clinit>(ConfigurationManager.scala)
	at com.atguigu.session.SessionStat$.main(SessionStat.scala:21)
	at com.atguigu.session.SessionStat.main(SessionStat.scala)

pom文件相关参数

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.4.2</version>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-configuration2</artifactId>
    <version>2.2</version>
</dependency>
<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.3</version>
</dependency>

默认commons-beanutils-core是1.8.0版本。
后来加上了

<dependency>
	<groupId>commons-beanutils</groupId>
	<artifactId>commons-beanutils-core</artifactId>
	<version>1.8.3</version>
</dependency>

解决

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值