在同一 Tomcat 服务器上部署 JSF 1.2 和 JSF 2.0 应用程序
到目前为止,我一直在 Tomcat 6.0 上运行 JSF 1.2 应用程序。 我现在在不同的 Tomcat 实例上启动了一个新的 JSF 2.0 项目(用于测试)。
我想在主 Tomcat 6.0 服务器上部署新的 JSF 2.0 项目,并且面临着“告诉”新项目使用 2.0 库而旧项目应继续使用旧库的挑战。
所有库对于每个服务器都是通用的(尽管构建路径显然是每个项目的)。 我想知道的是如何告诉项目使用 JSF 2.0 API。
谢谢!
Up to this point I've been running JSF 1.2 apps on Tomcat 6.0.
I have now started a new JSF 2.0 project on a different instance of Tomcat (For testing).
I would like to deploy the new JSF 2.0 project on the main Tomcat 6.0 server and am facing the challenge of "telling" the new project to use the 2.0 libraries while the old projects should keep on using the old libraries.
All the libraries are common per server (Although the build path is obviously per project).
What I would like to know is how to tell a project to use the JSF 2.0 API.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Tomcat 根本不附带 JSF,因此只需在
/WEB-INF/lib
中为每个项目提供各自正确版本的 JSF 库就应该可以正常工作,不会出现任何问题。更新 我忽略了 JSF 1.2 库是由 Tomcat 本身提供的。在这种情况下,您需要将 Tomcat 中的 JSF 1.2 库升级到 JSF 2.0 库。 JSF 2.0 完全向后兼容 JSF 1.2。对于 Tomcat 服务器,无法以某种方式配置 Web 应用程序,使其使用 Web 应用程序提供的库覆盖 Tomcat 提供的库。您最终会在类路径中发生冲突。
Tomcat does not ship with JSF at all, so just giving each project their own correct versioned JSF libraries in the
/WEB-INF/lib
should work without any issues.Update I overlooked that the JSF 1.2 libs are supplied by Tomcat itself. In this case you need to upgrade the JSF 1.2 libs in Tomcat to JSF 2.0 libs. JSF 2.0 is fully backwards compatible with JSF 1.2. For Tomcat servers it is not possible to configure the webapp in some way that it overrides the Tomcat-supplied libs with the webapp-supplied libs. You will end up with collisions in the classpath.
好吧,您可以从 Tomcat 的类路径中取出 JSF jar在每个 WAR 中打包所需的版本,除此之外,我认为你无法做到这一点......
Well you can take the JSF jar out of Tomcat's classpath & pack the needed version with each WAR, other than that, I don't think you'll be able to do it...
好吧..您只需要在类路径中提供所需的库,并且需要执行 配置中的这些更改,它应该选择正确的库
Well.. You just need to make required lib available in your class path and you need to do these changes in your configurations and it should pick up correct lib