gpt4 book ai didi

java - 为什么我们不应该将 tomcat 库放在我们的 appln 库中

转载 作者:行者123 更新时间:2023-11-28 22:04:18 24 4
gpt4 key购买 nike

我有一个在 Tomcat 7 中运行的 Web 应用程序。当我将 tomcat 默认库(jsp-api.jar、servlet-api.jar 等)放在我的应用程序/WebContent/WEB-INF/lib 中时,它会抛出异常:java.lang.IllegalStateException: No org ServletContext 中设置的.apache.tomcat.InstanceManager

当我从我的库中删除这些 jar 并在 build.xml 中设置 tomcat 库时,它工作正常。谁能向我解释为什么会这样?为什么我不能在我的 lib 文件夹中使用 tomcat 库?

最佳答案

您基本上不想将 Servlet、JSP、EL 或任何与容器相关的 jar 添加到您的应用程序 WEB-INF/lib 文件夹中。

这些库将由容器提供。如果您显式添加它们,部署的应用程序将出现问题(即两个相同的 jar 到相同的类路径)。

编辑:如果您需要这些 jar 来编译代码,那么您可以将它们添加到您的类路径中 - 它们不需要驻留在您的应用程序的 WEB-INF/lib 中。

即如果您使用的是 Eclipse,则可以添加“用户库”:Properties -> Java Build Path -> Libraries -> Add Library 这将定义所有与容器相关的库;您还可以添加外部 JAR 并从您的 tomcat7 目录中选择它们。

编辑 2:正如 BalusC 所指出的:“您可以将其作为目标运行时进行引用,然后 Eclipse 将发挥作用。另请参阅我对问题发表评论的相关链接。无需摆弄与用户库。”

关于java - 为什么我们不应该将 tomcat 库放在我们的 appln 库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064039/

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