以下是耳结构
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;
}
}
答案 0 :(得分:1)
一般来说,如果在静态初始化期间发生异常,则会发生NoClassDefFoundError
。如果在实例化NoClassDefFoundError
或BeanMapper
期间发生任何异常,请仔细检查CommonUtil
之前的日志。