fre*_*iew 1 java jsp tomcat servlets tomcat7
我有一个在Tomcat 7中运行的Web应用程序.当我在我的应用程序/ WebContent/WEB-INF/lib中放置tomcat默认库(jsp-api.jar,servlet-api.jar等)时,它会引发异常: java.lang.IllegalStateException: No org.apache.tomcat.InstanceManager set in ServletContext
当我从我的lib中删除这些jar并在build.xml中设置tomcat lib时,它工作正常.任何人都可以向我解释为什么会这样吗?为什么我不能在我的lib文件夹中使用tomcat库?
您基本上不希望将Servlet,JSP,EL或任何与容器相关的jar添加到您的应用程序WEB-INF/lib文件夹中.
这些库由容器提供.如果您明确添加它们,则部署的应用程序将出现问题(即两个相同的jar进入同一个类路径).
编辑:如果您需要这些jar来编译代码而不是将它们添加到类路径中 - 它们不需要驻留在应用程序的WEB-INF/lib中.
即如果您正在使用Eclipse,则可以添加"用户库":Properties -> Java Build Path -> Libraries -> Add Library
这将定义所有与容器相关的库; 您也可以Add External JARs
从tomcat7目录中选择它们.
编辑2:正如BalusC所指出的那样:"你可以将它作为目标运行时引用,然后Eclipse就会发挥作用.另请参阅我在该问题上发表评论的相关链接.无需使用用户库."
归档时间: |
|
查看次数: |
3873 次 |
最近记录: |