java - BeanUtils.copyProperties 产生 java.lang.VerifyError :

标签 java javabeans apache-commons-beanutils

我试图简单地将一个类的所有属性复制到另一个类,如下所示。此错误的根源可能是什么?

我有两个简单的 Pojo,它们具有不同的类名但具有相同的属性,并在实例化两者后从另一个复制一个

输出

12-25 04:24:33.380  23062-23062/com.example.somghosh.earthmiles I/System.out﹕ *** Before BeanUtils.copyProperties ***
12-25 04:24:33.380  23062-23062/com.example.somghosh.earthmiles I/System.out﹕ Person
12-25 04:24:33.380  23062-23062/com.example.somghosh.earthmiles I/System.out﹕ 15
12-25 04:24:33.380  23062-23062/com.example.somghosh.earthmiles I/System.out﹕ rene
12-25 04:24:33.380  23062-23062/com.example.somghosh.earthmiles I/System.out﹕ othePerson
12-25 04:24:33.380  23062-23062/com.example.somghosh.earthmiles I/System.out﹕ 100
The actual copy code produces error : 

 Process: com.example.somghosh.earthmiles, PID: 23479
    java.lang.VerifyError: org/apache/commons/beanutils/PropertyUtilsBean
            at org.apache.commons.beanutils.BeanUtilsBean.<init>(BeanUtilsBean.java:112)
            at org.apache.commons.beanutils.BeanUtilsBean$1.initialValue(BeanUtilsBean.java:63)
            at org.apache.commons.beanutils.BeanUtilsBean$1.initialValue(BeanUtilsBean.java:59)
            at org.apache.commons.beanutils.ContextClassLoaderLocal.get(ContextClassLoaderLocal.java:154)
            at org.apache.commons.beanutils.BeanUtilsBean.getInstance(BeanUtilsBean.java:75)
            at org.apache.commons.beanutils.BeanUtils.copyProperties(BeanUtils.java:135)
            at com.example.somghosh.earthmiles.views.MainActivity.afterViews(MainActivity.java:99)
            at com.example.somghosh.earthmiles.views.MainActivity_.onViewChanged(MainActivity_.java:87)
            at org.androidannotations.api.view.OnViewChangedNotifier.notifyViewChanged(OnViewChangedNotifier.java:41)
            at com.example.somghosh.earthmiles.views.MainActivity_.setContentView(MainActivity_.java:48)
            at com.example.somghosh.earthmiles.views.MainActivity_.onCreate(MainActivity_.java:38)

代码

import org.apache.commons.beanutils.BeanUtils;

Person person = new Person();
person.setAge(15);
person.setName("rene");

OtherPerson othePerson = new OtherPerson();

System.out.println("*** Before BeanUtils.copyProperties ***");

System.out.println("Person");
System.out.println(person.getAge());
System.out.println(person.getName());

System.out.println("othePerson");
System.out.println(othePerson.getAge());
System.out.println(othePerson.getName());

//copy properties from (target, source)
try {
    BeanUtils.copyProperties(othePerson, person);
} catch (IllegalAccessException e) {
    e.printStackTrace();
} catch (InvocationTargetException e) {
    e.printStackTrace();
}

System.out.println("\n*** After BeanUtils.copyProperties ***");

System.out.println("Person");
System.out.println(person.getAge());
System.out.println(person.getName());

System.out.println("othePerson");
System.out.println(othePerson.getAge());
System.out.println(othePerson.getName());







class Person {

    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    Person(){
        name = "Person";
        age = 1;


    }
}


class OtherPerson {

    private String name;
    private int age;

    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    OtherPerson(){
        name = "OtherPerson";
        age = 100;


    }
}

最佳答案

将此 Apache jar 添加到您的构建路径或类路径中。 BeanUtils 将需要这个 jar。

org.apache.commons.logging

关于java - BeanUtils.copyProperties 产生 java.lang.VerifyError :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27642933/

相关文章:

java - 具有重复值的快速排序

java - 使用 BeanUtils 设置列表索引属性

Spring 没有唯一的 bean 类型

Java 对象到对象的映射 - Moo

java - BeanUtils DateConverter 被忽略

java - 将属性从一个 bean 复制到另一个 : Java

java - PHP 中的服务器端重定向

java - 我应该使用什么事件来检测自定义 JComponent 中父 JFrame 的关闭?

Java协议(protocol)设计

java - 从 String 转换为 HashMap 的最佳方法是什么?