基本问题复杂的解决方案- Tomcat到JBoss



为什么tomcat不能很好地读取我的web-inf/lib目录中有告诉文件的JSTL jar,但当我移动到jBoss 5时却不能?

是类加载器问题吗?

我试过研究,但没有明确的答案。我读了大量与类加载器相关的文章,但不确定它如何实际应用于我的应用程序。

如有任何帮助,不胜感激。

提前感谢阿西夫

Tomcat是一个简单的JSP/Servlet容器,仅随JSP和Servlet api一起发布。JBoss是一个更成熟的Java EE应用服务器,它几乎附带了整个Java EE API,包括JSTL。

当你将JSTL与你自己的web应用一起发布时,那么它的API/impl版本很有可能与JBoss已经使用的版本冲突。JBoss将加载它自己的JSTL API (jstl.jar),但是web应用将加载JSTL impl (standard.jar)。实际上,您应该从web应用程序中删除JSTL jar,并使用JBoss jar。为了让JSTL在Tomcat上为相同的web应用程序工作,您还可以将jar添加到Tomcat自己的/lib文件夹中。这样,部署到Tomcat的每个web应用程序都可以使用JSTL,而不需要在/WEB-INF/lib中包含jar。

最新更新