java - 无法使用 BeanUtils 将一个类的属性复制到另一个类

标签 java class copy apache-commons-beanutils

我有一段代码,我使用 BeanUtils.copyProperities(dest, orig) 将一个类的相似属性复制到另一个类。然而。这是行不通的。我收到错误:

线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

我正在使用 BeanUtils 1.9.2、Java 8、Windows 10、Eclipse。

import org.apache.commons.beanutils.*;

public class Main{
    public Main(){
        Entity entity = new Entity();
        AbstractGameObject aEntity = new AbstractGameObject();
        try {
            BeanUtils.copyProperties(aEntity, entity);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(aEntity.similar); // Should print out 10, No?;
    }
    public static void main(String[] args) {
        Main main = new Main();
    }
    private class Entity{
        int similar = 10;
        int differentE = 9;
        public Entity(){

        }
    }
    private class AbstractGameObject{
        int similar = 2;
        int differentA = 1;
        public AbstractGameObject(){

        }
    }
}

最佳答案

此外,请注意,如果您使用 Lombok 生成公共(public) getter 和 setter,则 BeanUtils.copyProperties() 将不起作用。您必须手动创建它们。

关于java - 无法使用 BeanUtils 将一个类的属性复制到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38685902/

相关文章:

java - 自定义异常

c++ - 没有匹配的函数来调用 [class]

python类方法和继承

java - 如何让您的应用程序从 Android 已安装的应用程序获取数据

java - Android Sqlite 仅更新第一行

java - 为什么 .setImageBitmap() 不将图像分配给 ImageView 对象?

java - 如何从另一个类访问ArrayList

gradle - gradle简单文件复制不起作用

javascript - 如何将链接复制到剪贴板,以便在所见即所得编辑器(JS、jQuery)中使用它

Mysql表引用更新