NoClassDefFoundError仅适用于EAR中的特定类

时间:2012-05-30 05:23:21

标签: java java-ee

以下是耳结构

ex.ear
|
|_lib-util.jar--CommonUtil.class,CommonException.class etc.
|
|
|
ejb.jar
web.war

当我在WEB和EJB层类中调用这个特定的类(CommonUtil.map(empDto))时,我们得到一个NoClassDefFoundError。保留在Util.jar中的所有类都正常被调用。为什么我们只为这个类收到此错误?

EmployeeDTO empDto = new EmployeeDTO();
empDto.setId(1);
empDto.setName("john");
CommonUtil.map(empDto);
public class CommonUtil {

    private static Mapper mapper = new BeanMapper();
    private static CommonUtil instance = new CommonUtil();

    private CommonUtil() {
        super();
    }

    public static <T> T map(Object source) {
        T target = mapper.map(source);
        return target;
    }

    public static <T> T map(Object source) {
        mapper.map(source);
        return target;
    }
}

1 个答案:

答案 0 :(得分:1)

一般来说,如果在静态初始化期间发生异常,则会发生NoClassDefFoundError。如果在实例化NoClassDefFoundErrorBeanMapper期间发生任何异常,请仔细检查CommonUtil之前的日志。