在类中使用枚举时出现 Java.lang.NoClassDefFoundError

Bro*_*der 5 java enums jetty

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)

知道发生了什么吗?它甚至没有显示错误所在。

Via*_*nin 2

java.lang.NoClassDefFoundError - 通常这表明我们之前尝试从类路径加载一个类,但由于某种原因失败了 - 现在我们尝试再次使用该类(因此需要加载它,因为它上次失败了时间),但我们甚至不会尝试加载它,因为我们之前加载失败(并且有理由怀疑我们会再次失败)。早期的失败可能是 ClassNotFoundException 或 ExceptionInInitializerError (指示静态初始化块中的失败)或任何其他问题。关键是,NoClassDefFoundError 不一定是类路径问题。

当我在Weblogic中部署时,由于Weblogic缓存,我经常遇到NoClassDefFoundError。可以尝试清理jetty的缓存或将Event枚举重命名为Event1,然后重试?