У меня есть фрагмент кода, в котором я копирую аналогичные свойства одного класса другому, используя BeanUtils.copyProperities(dest, orig)
. Однако. Это не работает. Я получаю ошибку:Невозможно скопировать свойства одного класса другому с помощью BeanUtils
Exception in thread "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(){
}
}
}
Добавить библиотеку Обще-протоколирования http://commons.apache.org/proper/commons-logging/ –
классам @ DavidPérezCabrera Можете ли вы уточнить? – Colourfit
Конечно, 'BeanUtils' использует' Common-logging' (и 'commons-collections'), если вы используете maven, gradle или подобное, он получит зависимости BeanUtils для вас, но если вы этого не сделаете, вы должны для добавления зависимостей beanUtils к пути к классам вручную. –