根据这个问题,我创建了一个实现Catalina LifecycleListener类的类。
How to run script on Tomcat startup?
当我将我的JAR文件放在webapps / ROOT / WEB-INF / lib中时,Tomcat无法启动,找不到类:
java.lang.ClassNotFoundException:net.company.tomcat.StartupEventHookListener
但是当我将文件放在appserver / lib中时,它会启动,然后在应用程序完成启动时按预期运行代码。
我的理解是WEB-INF / lib中的所有JAR文件都可用于我的webapp(ROOT),我正试图挂钩我的webapp的事件生命周期。
我是否真的陷入了Tomcat的生命周期,因此我需要使用appserver / lib库?
我刚才回答了自己的问题吗?
答案 0 :(得分:1)
Tomcat启动发生在任何Web应用程序启动之前,甚至是ROOT webapp。用于Tomcat生命周期中配置的事物的类路径从不包含来自任何webapp的任何jar文件或.class
文件,甚至包括ROOT webapp。