到目前为止,我一直在Tomcat 6.0上运行JSF 1.2应用程序。 我现在已经在Tomcat的另一个实例(用于测试)上启动了一个新的JSF 2.0项目。在同一个Tomcat服务器上部署JSF 1.2和JSF 2.0应用程序
我想在主Tomcat 6.0服务器上部署新的JSF 2.0项目,并面临着“告诉”新项目使用2.0库,而旧项目应该继续使用旧库的挑战。
所有库都是通用的每个服务器(虽然构建路径显然是每个项目)。 我想知道的是如何告诉项目使用JSF 2.0 API。
谢谢!
到目前为止,我一直在Tomcat 6.0上运行JSF 1.2应用程序。 我现在已经在Tomcat的另一个实例(用于测试)上启动了一个新的JSF 2.0项目。在同一个Tomcat服务器上部署JSF 1.2和JSF 2.0应用程序
我想在主Tomcat 6.0服务器上部署新的JSF 2.0项目,并面临着“告诉”新项目使用2.0库,而旧项目应该继续使用旧库的挑战。
所有库都是通用的每个服务器(虽然构建路径显然是每个项目)。 我想知道的是如何告诉项目使用JSF 2.0 API。
谢谢!
Tomcat并未随JSF一起提供,因此只需为每个项目分配自己正确的版本化JSF库在/WEB-INF/lib
应该没有任何问题。
更新我忽略了JSF 1.2库是由Tomcat自己提供的。在这种情况下,您需要将Tomcat中的JSF 1.2库升级到JSF 2.0库。 JSF 2.0完全向后兼容JSF 1.2。对于Tomcat服务器,不可能以某种方式配置Web应用程序,以使用Web应用程序提供的库来覆盖Tomcat提供的库。你将最终在类路径中发生冲突。
那么你可以把JSF罐子出来Tomcat的类路径&的包,每个WAR,比其他所需要的版本,我不认为你将能够做到这一点...
嘛。 。您只需要在您的类路径中提供必需的lib,并且您需要执行these changes in your configurations并且它应该选取正确的lib
我们部署时没有库。正如我所提到的,“所有的库都是每台服务器都很常见”。 – Ben 2011-05-04 12:20:07
从一开始这是一个坏主意。我不太明白吉宝的答案如何解决这个问题。由Tomcat提供的仍然优先于webapp中的。更成熟的appservers有特定的配置设置,让webapps覆盖服务器提供的库,另请参见http://stackoverflow.com/questions/5815623/jsf-2-issues-in-application-servers无论如何,你应该能够继续使用您的JSF 1.2应用程序,同时将Tomcat-libs从1.2更新到2.0。 JSF 2.0完全向后兼容JSF 1.2。 – BalusC 2011-05-04 12:25:23
这样做是为了减少部署的大小。 还有别的办法吗?我没有看到如何通过构建路径引用库并不比在war文件中包含实际库更好。 (看起来像一个库复制混乱) 仅仅是因为没有更好的解决方案? – Ben 2011-05-04 12:31:23