我有一个目前在嵌入式Jetty 5.1.14服务器(Servlet 2.4)上运行于JSF 1.1的大型代码库。我已经成功地在这个版本的Jetty上运行了JSF 2.0.9应用程序,尽管我期望需要servlet 2.5,并且将JSF jar的EL 2.1.2 &添加到WEB-INF/lib。这适用于排除JSF 1.1的jetty配置。jetty 5自定义类加载器可以排除特定的jar文件吗?
生产环境由单个服务器实例上的大量war和jar文件组成。
JSF 1.1当前位于服务器的ext/lib文件夹中,并且在单个war文件中,我想将JSF 2 jar包含在WEB-INF/lib中。这是不可能的,因为服务器JSF版本将首先加载并导致类路径污染。
然而,有可能通过自定义类加载器来消除JSF 1.1 jar加载在一个war文件中的问题吗?该文档似乎迎合了向类路径添加路径而不是排除事物的情况。我不清楚它是作为一个整体加载在服务器上还是仅仅是战争。
更多信息:另一个可能的解决方案是简单升级到Jetty 8和JSF 2.1+。除了让管理层相信这是一个好主意之外,我们还使用旧的WebMethods7版本,它有一个图形布局工具,可以生成一些由组件应用程序框架翻译的XML,该框架使用JSF API生成内容(所以只有一个很少的JSP)。这只是一个看看它是否有效的案例,并且如果没有全面的反思,因为需要继续支持这个WebMethods“代码”。
这里的主要目标是最终运行最新的软件,尽管不一定在一个步骤。
感谢您的回复。请你能给我一个指向你引用的系统和服务器类的指针。谢谢。 – Oversteer
http://wiki.eclipse.org/Jetty/Reference/Jetty_Classloading-这是我知道存在于6-9的概念,你将不得不在5号码头徘徊,看看它是否存在。 –