簡體   English   中英

找不到偵聽器類

[英]Listener class not found

我正在做一個Maven項目。 已經在tomcat7中創建了一個偵聽器類,但是當我部署時,出現以下錯誤:

偵聽器類

public class DBInitialisationListener implements ServletContextListener {

public void contextInitialized(ServletContextEvent event) {

    System.out.println("Db Initialised");
}

public void contextDestroyed(ServletContextEvent event) {
    DatabaseFactory.close();
    System.out.println("Db Closed");
}
}

web.xml

<listener>
        <listener-class>com/nrift/ovmgmt/core/DBInitialisationListener</listener-class>
</listener>

我的錯誤日志:

Sep 04, 2014 2:14:31 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com/nrift/ovmgmt/core/DBInitialisationListener
java.lang.NoClassDefFoundError: IllegalName: com/nrift/ovmgmt/core/DBInitialisationListener
    at java.lang.ClassLoader.preDefineClass(ClassLoader.java:655)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:794)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2888)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1172)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4733)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

類名是偵聽器配置不正確。 使用如下。

<listener>
    <listener-class>com.nrift.ovmgmt.core.DBInitialisationListener</listener-class>
</listener>

您必須用點“。”表示包裝類為定義的。

<listener>
        <listener-class>com.nrift.ovmgmt.core.DBInitialisationListener</listener-class>
</listener>

這是因為Maven找不到課程

要檢查是否已在<listener-class>標記中正確添加了<listener-class> ,請嘗試CTRL+Click該類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM