记一次configuration2使用错误,PropertyUtilsBean.addBeanIntrospector是什么错

需要读取的文件位置

下面是代码:

FileConfig fileConfig = new FileConfig("conf/parameter-marketing-care-app.xml");    --29行后面会提到,报错误的行
System.out.println(fileConfig + "--" + fileConfig.getFilePath() + "--" +fileConfig.isValid());

int baseNumber = fileConfig.getInteger("marketing.partition.baseNumber", 32);
List<Integer> modList = fileConfig.getList(Integer.class, "marketing.partition.modList", Arrays.asList(1, 3, 5, 7, 11, 13, 17, 23, 29));
System.out.println(baseNumber + "baseNumber" + modList + "modList");
PartitionInfo partitionInfo = new PartitionInfo(baseNumber, modList);

System.out.println(partitionInfo.getBaseNumber() + "---" + partitionInfo.getModList());

封装的方法:

public Integer getInteger(String key, Integer def) {
    Configuration configInst = this.getConfig();
    return configInst != null ? configInst.getInteger(key, def) : def;
}
public <T> List<T> getList(Class<T> cls, String key, List<T> def) {
  Configuration configInst = this.getConfig();
  return configInst != null ? configInst.getList(cls, key, def) : def;
}


Junit测试只能读到默认的:

wangjubao.base.config.FileConfig@1e81f4dc--D:\workspace\crm-app-care-marketing\conf\parameter-marketing-care-app.xml--false
32baseNumber[1, 3, 5, 7, 11, 13, 17, 23, 29]modList
32---[1, 3, 5, 7, 11, 13, 17, 23, 29]

在开发环境测试报:

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.$Proxy22.<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:294)
        at org.apache.commons.configuration2.builder.fluent.Parameters.fileBased(Parameters.java:185)
        at wangjubao.base.config.FileConfig.<init>(FileConfig.java:30)
        at wangjubao.base.config.FileConfig.<init>(FileConfig.java:23)
        at crm.app.care.marketing.data.SellerPartition.init(SellerPartition.java:29)
        at crm.app.care.marketing.CareMarketingAppMain.main(CareMarketingAppMain.java:41)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值