当前位置: 首页 > 知识库问答 >
问题:

如果类在WEB-INF/lib的jar文件中,tomcat的web.xml过滤器中的类路径是什么

公孙森
2023-03-14

我已经创建了一个过滤器类,它在应用程序的Web-inf/lib中的一个jar中。现在我需要在tomcat/conf的web.xml中映射到该类文件。

我以为tomcat会公开WEB-INF/lib中的所有类文件,这样就可以直接获得类。

Apache的部署指南引用

当您将应用程序安装到Tomcat(或任何其他2.2或更高版本的Servlet容器)中时,WEB-INF//目录中的类以及WEB-INF/lib/目录中的JAR文件中的所有类都将对特定web应用程序中的其他类可见。因此,如果您在其中一个地方包含所有必需的库类(确保检查您使用的任何第三方库的重新分发权限许可证),您将简化web应用程序的安装--不需要调整系统类路径(或在服务器中安装全局库文件)。

我已将筛选器中的路径指定为COM.(company_name).(package_name).CLASS_NAME

但tomcat并没有接住它。我是不是做错什么了?

共有1个答案

彭鸿畅
2023-03-14

正如@balusc在注释中提到的,不可能从Tomcat的web.xml(tomcat/conf/web.xml)映射到应用程序的WEB-INF/lib。

解决方案是将该筛选器类放入一个单独的jar中,并将其放入Tomcat的lib(tomcat/lib)中。目前,这似乎是唯一可能的解决办法。

 类似资料:
  • 在我的webapp中;默认情况下,在类路径中添加WEB-INF/lib,这很好。现在,我想在tomcat的类路径中添加spring jar文件。如果我将所有jar文件放在WEB-INF/lib中;它工作得很好。但如果我想添加一个WEB-INF/lib/spring目录,并将所有jar文件放在spring目录中;它不起作用。如何在类路径中包含WEB-INF/lib/spring。 我更喜欢在web.

  • 根据这个问题,我创建了一个实现Catalina LifecycleListener类的类。 如何在Tomcat启动时运行脚本? 当我将JAR文件放置在webapps/root/web-inf/lib中时,Tomcat启动失败,出现类未找到的异常: java.lang.ClassNotFoundException:Net.Company.Tomcat.StartupEventHookListener

  • 问题内容: 我的Tomcat部署在conf文件夹下有一个web.xml文件。与WEB-INF中的conf / web.xml相比,Tomcat中的conf / web.xml是什么?我需要吗? 问题答案: 是的,您绝对需要它!它包含默认Servlet和JSP Servlet的声明。如果没有它,所有未映射到您的任何servlet上的请求(例如CSS / JS / images)将停止工作,并且所有J

  • 问题内容: 我正在使用Eclipse,我需要能够将Java库(JAR文件)添加到Web应用程序的文件夹中。我该如何实现? 问题答案: 将jar文件添加到您的WEB-INF / lib文件夹中。 在Eclipse中右键单击您的项目,然后转到“构建路径>配置构建路径” 添加“ Web应用程序库”库 这将确保所有WEB-INF / lib jar都包含在类路径中。

  • 问题内容: 我的App Engine项目的war / WEB-INF文件夹中有一个文件。我在FAQ中读到,您可以在servlet上下文中从那里读取文件。我不知道如何形成资源的路径: 我将如何构造到该资源的路径以与File()一起使用,就像上面一样? 问题答案: 有两种方法可以做到这一点。只要扩展WAR文件(一组文件而不是一个.war文件),就可以使用以下API: http://tomcat.apa

  • 我在webapp/WEB-INF/lib/文件夹下添加了一个依赖项。 当我使用maven构建时,我希望在war中将它复制到WEB-INF/lib,而不是WEB-INF/classes/WEB-INF/lib。我正在寻找这是使用maven本身来完成的。 我已经在pom文件中提到了打包作为战争,但是依赖项没有被复制。我是不是在pom文件里漏掉了什么。我已经复制了下面的pom: 附上战争内容截图。