java.lang.NoClassDefFoundError我在部署代码时感到很奇怪。编译时没有错误,但是当我使用 jetty 部署它时,出现错误
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'org.springframework.dao.annotation.
PersistenceExceptionTranslationPostProcessor#0'
defined in class path resource [applicationContext-dao.xml]:
Initialization of bean failed;
nested exception is
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sessionFactory'
defined in class path resource [applicationContext-dao.xml]:
Invocation of init method failed;
nested exception is
java.lang.NoClassDefFoundError: com/core/model/Webhook$Event
Run Code Online (Sandbox Code Playgroud)
该类如下所示
public class Webhook extends BaseObject implements Serializable {
public enum Event {
ORDER_CREATE,
ORDER_UPDATE,
ORDER_DELETE,
TICKET_CREATE,
TICKET_UPDATE,
TICKET_DELETE,
CUSTOMER_CREATE,
CUSTOMER_UPDATE,
CUSTOMER_DELETE,
MENU_ITEM_UPDATE,
CHECK_OFFER
}
private Event triggerEvent;
public Event getTriggerEvent() {
return triggerEvent;
}
public void setTriggerEvent(Event triggerEvent) {
this.triggerEvent = triggerEvent;
}
public String getTriggerEventString() {
return triggerEvent.toString();
}
public void setTriggerEventString(String triggerEvent) {
this.triggerEvent = Event.valueOf(triggerEvent);
}
}
Run Code Online (Sandbox Code Playgroud)
知道发生了什么吗?它甚至没有显示错误所在。
java.lang.NoClassDefFoundError - 通常这表明我们之前尝试从类路径加载一个类,但由于某种原因失败了 - 现在我们尝试再次使用该类(因此需要加载它,因为它上次失败了时间),但我们甚至不会尝试加载它,因为我们之前加载失败(并且有理由怀疑我们会再次失败)。早期的失败可能是 ClassNotFoundException 或 ExceptionInInitializerError (指示静态初始化块中的失败)或任何其他问题。关键是,NoClassDefFoundError 不一定是类路径问题。
当我在Weblogic中部署时,由于Weblogic缓存,我经常遇到NoClassDefFoundError。可以尝试清理jetty的缓存或将Event枚举重命名为Event1,然后重试?
| 归档时间: |
|
| 查看次数: |
8739 次 |
| 最近记录: |