gpt4 book ai didi

java - Tomcat - 不会加载我的 META-INF\services\javax.servlet.ServletContainerInitializer 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:55:11 26 4
gpt4 key购买 nike

我有一个 Web 项目,它有一个 \META-INF\services\javax.servlet.ServletContainerInitializer 文件,其内容指向实现 ServletContainerInitializer 接口(interface)的类的完全限定名称。我基本上遵循了此处给出的示例:http://nullhaus.com/2011/03/using-servlets-3-0-servletcontainerinitializer/

我在实现 ServletContainerInitializer 接口(interface)的类中放置了调试行,但它从来没有出现过。甚至没有默认构造函数...

我的应用文件夹结构如下:

\MyApp
\META-INF\services\javax.servlet.ServletContainerInitializer
\WEB-INF\classes\
... [list of classes and packages go here]

有什么我需要检查的想法吗??

注意 1:我的 Tomcat 从包含我的应用程序的展开的外部文件夹发布

注意 2:我从 Eclipse 启动我的 Tomcat - 如果这有区别的话!

最佳答案

好吧,我认为您需要将您的初始化程序类(以及它与服务相关的 META-INF 目录)包装到一个单独的 *.jar 中,并将其放在 WEB-INF/lib.

这是一个 JAR 服务,所以我猜它可能与在 *.war 文件中发现服务的问题有关。此外,如果您将 META-INF 目录放在 WEB-INF/classes 中并设置 unpackWAR=false Tomcat 的 server.xml

HTH.

关于java - Tomcat - 不会加载我的 META-INF\services\javax.servlet.ServletContainerInitializer 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7692497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com