我正在使用 cometd 3.0.1 并尝试将其部署到 tomcat 7.0.50 中。我创建了一些过滤器,之前我使用 jetty jar (9.2.2) 来编译这些过滤器类,但是在从 jetty 移动之后我应该在我的类路径中包含哪个 jar。
我想要 jar 这样我就不需要每次从一个容器移动到另一个容器时都重新生成我的 war 。
我能否直接从 jdk 包含 servlet api jar(我无法在我的 jdk 中找到 jar)。我正在使用 Java 8。
最佳答案
documentation home page Tomcat 7 说:
Apache Tomcat version 7.0 implements the Servlet 3.0 and JavaServer Pages 2.2 specifications
因此,您需要 3.0 版的 servlet API。
Servlet API 不是 Java SE 的一部分。它是 Java EE 的一部分。所以你不会在 JDK 中找到它。您只需要 jar 来编译您的代码。
请注意,无论您使用 Jetty 还是 Tomcat 都不会改变任何东西:这个 jar 是由 servlet 容器提供的,所以它不能在 war 文件中。在Tomcat的lib
目录下可以找到Tomcat使用的jar。
关于tomcat - 我的 cometd 过滤器应该使用哪个 servlet-api jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29945227/