ServletContextListener 严重:配置类 marktest.Config 的应用程序侦听器时出错

2023-12-27

我的 Java servlet 似乎抱怨它找不到包(marktest)中包含的文件。我使用 Eclipse (Indigo) 和 Tomcat7 进行开发。

这是错误:

SEVERE: Error configuring application listener of class marktest.Config
java.lang.ClassNotFoundException: marktest.Config
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)

这是 Config.java,其中包含实现 ServletContextListener 的类,它说在错误中找不到该类:

package marktest;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;


public class Config implements ServletContextListener 
{

    private ExecutorService executor;

    @Override
    public void contextInitialized(ServletContextEvent event) 
    {
        System.out.println("########################## ServletContextListener started ###############################");

    }

    @Override
    public void contextDestroyed(ServletContextEvent event) {
    }

}

这是 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>de.vogella.jersey.first</display-name>
  <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>

    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>marktest</param-value>
    </init-param>

    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>

    <listener>
        <listener-class>marktest.Config</listener-class>
    </listener>

</web-app> 

即使经过多次谷歌搜索后我还是很困惑。在此先感谢您的帮助。

Mark

- - 编辑 - -

以下是完整的控制台日志

10-Jan-2013 15:45:18 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:nlpServer' did not find a matching property.
10-Jan-2013 15:45:18 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
10-Jan-2013 15:45:18 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 661 ms
10-Jan-2013 15:45:18 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
10-Jan-2013 15:45:18 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.21
########################## ServletContextListener started ###############################
10-Jan-2013 15:45:19 org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [1,052] milliseconds.
10-Jan-2013 15:45:19 com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:
  marktest
10-Jan-2013 15:45:19 com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
  class marktest.hello
10-Jan-2013 15:45:19 com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
10-Jan-2013 15:45:19 com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.16 11/28/2012 02:09 PM'
10-Jan-2013 15:45:20 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class marktest.Config
java.lang.ClassNotFoundException: marktest.Config
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)
10-Jan-2013 15:45:20 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
10-Jan-2013 15:45:20 org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
10-Jan-2013 15:45:20 org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [] startup failed due to previous errors
10-Jan-2013 15:45:20 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
10-Jan-2013 15:45:20 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2538 ms
10-Jan-2013 15:45:24 org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
10-Jan-2013 15:45:24 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
10-Jan-2013 15:45:25 org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
10-Jan-2013 15:45:25 org.apache.catalina.util.LifecycleBase stop
INFO: The stop() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] after stop() had already been called. The second call will be ignored.
10-Jan-2013 15:45:25 org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
10-Jan-2013 15:45:25 org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]

在我看来,好像您的类没有通过 WTP 正确部署到 Tomcat(再次清理/发布)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ServletContextListener 严重:配置类 marktest.Config 的应用程序侦听器时出错 的相关文章

随机推荐

  • import 不能在 chrome 61 中使用?

    我尝试在最新发布的 chrome 版本 即 chrome 61 中玩 ES6 功能 在使用过程中遇到了错误import关键词 从技术上来说 import使用以下方法 但控制台显示错误 import Mymodule from Mymodul
  • 自然连接的维恩图

    我一直在尝试完全理解 sql 连接的概念 维恩图在这方面帮助了我很多 我发现它们适用于所有类型的连接 但不适用于自然连接 自然连接的维恩图是什么样子的 维恩图对于理解自然连接或内连接没有太大帮助 大多数与 Stack Overflow 和网
  • 如何将数据作为 trie 存储在表中? (SQL 服务器)

    为了方便起见 该表包含英语词典中的所有单词 我想做的是将数据存储为特里树 这样我就可以遍历 trie 的不同分支并返回最相关的结果 首先 如何将表中的数据存储为 trie 结构 其次 如何遍历这棵树 如果有帮助的话 建议上一个问题 http
  • 如何在 Playframework2 中的 i18n 中使用单引号?

    在开发法语应用程序时 法语充满了单引号 我需要使用带有单引号和许多其他重音字符的 i18n 所以这是我的摘录messages fr FR file some key C est la vie 这是输出 Cest la vie 如何在消息中使
  • 为什么我的规范化路径带有前缀 \\?\

    我正在开发一个个人项目 试图通过规范化 Rust 中的相对路径来解决该项目 然而 每当我这样做时 新路径都会以一个奇怪的前缀 顺序 例如 简单的事情如下 let p fs canonicalize unwrap println p disp
  • SQL循环遍历所有表并获取特定列的最大值

    我正在尝试创建一个审核表来检查该表的加载日期 基本上 我想循环遍历数据库中的所有表并检查特定列 LoadedDate并返回每个表的该列的最大值 SELECT TABLE NAME INTO TableList FROM INFORMATIO
  • Android Facebook 对话框

    我已将 Facebook 集成到我的应用程序中 但是 它不是在对话框中显示 而是全屏打开 我想知道是否有人知道如何将其更改为对话框 Facebook 处理程序类 Override public void onCreate Bundle sa
  • 无法连接到总线:没有这样的文件或目录

    我创建了一个 docker 16 4 容器并尝试在容器内运行 docker 继这篇文章之后 https www digitalocean com community tutorials how to install and use dock
  • 使用 MS 编译器的 std::cout 非常慢

    我正在打印多次计算迭代的进度 输出实际上是其中最慢的部分 但只有当我使用 Visual C 编译器时 MinGW 在同一系统上才能正常工作 考虑以下代码 include
  • 实现 HttpSessionListener

    我面临着一个类似的问题 https stackoverflow com questions 1439743 whats wrong with my listener in my web xml并了解到我的侦听器类将在读取 web xml 时
  • Python、SQLite3:当提交介入时游标返回重复项

    此 Python 代码创建一个表 向其中插入三行并迭代这些行 并在游标完全耗尽之前进行干预提交 为什么它返回五行而不是三行 如果删除干预提交 则返回的行数如预期为 3 或者是否预期提交 甚至不触及相关表 会使游标无效 Edit 添加了忘记的
  • jQuery 的 .isWindow 方法?

    我试图从 jQuery 的动画函数中了解我能做什么 但最终遇到了各种我不理解的内部函数 最终落在了 isWindow 上 isWindow 的代码检查对象是否具有该属性setInterval 否则返回 false 当然 任何对象都可以具有以
  • 如何仅对一个 .vue 文件禁用 vue/multi-word-component-names eslint 规则?

    我正在使用Vue ESLint 插件 https eslint vuejs org 它有一个规则不允许使用单个单词的组件名称 https eslint vuejs org rules multi word component names h
  • PHP upload_max_filesize

    我的 php 文件上传有问题 在我的 php ini 中 upload max filesize 设置为 4mb 当我尝试上传大于该文件的文件时 我从未像预期的那样收到 UPLOAD ERR INI SIZE 错误 但页面再次显示表单 但没
  • 适用于 Google BigQuery 标准 SQL 的任何 JDBC 驱动程序

    我需要 JDBC 驱动程序将我的应用程序连接到 Google BigQuery 我尝试了 CData JDBC 驱动程序 但它不支持所有类型的标准 SQL 查询 还有其他完整的选择吗 官方BigQuery 的 JDBC 驱动程序 https
  • 即复杂的子域cookie问题

    我所有的 cookie 在子域上都工作得很好 但如果子域中有 那么 cookie 根本不会被读取 也根本不会正确 以下是我的测试结果 它将自我解释 justlife demo com works fine just life demo co
  • 如何通过 Google Tag Manager for Next-Js 设置 Google Analytics?

    以前我使用react ga npm 模块在我的下一个js 应用程序中插入谷歌分析 就是这样 import ReactGA from react ga export const initGA gt ReactGA initialize UA
  • 当新子项添加到 Firebase 数据库时发送通知

    我在我的应用程序中使用 Firebase 数据库 当新订单添加到数据库 新子添加到数据库 时 我需要向管理员发送通知 我发现了一个名为 Firebase 云消息传递的东西 但我不知道如何使用它 有什么帮助吗 Firebase Cloud M
  • 使用动态参数查询 Diesel 表

    我开始考虑使用 Diesel 来查询数据库 我有一个类似于下面结构的表格 这只是一个玩具项目 旨在帮助我了解 Diesel 的工作原理 derive Queryable Insertable table name posts struct
  • ServletContextListener 严重:配置类 marktest.Config 的应用程序侦听器时出错

    我的 Java servlet 似乎抱怨它找不到包 marktest 中包含的文件 我使用 Eclipse Indigo 和 Tomcat7 进行开发 这是错误 SEVERE Error configuring application li