我正在运行一个嵌入式 Jetty 8 服务器,它在启动时会加载一些 *.war 文件:
for (File aWebAppDirectory : aWebAppDirectories) {
if (aWebAppDirectory.exists() && aWebAppDirectory.isDirectory()) {
for (File warFile : aWebAppDirectory.listFiles(new WarFileFilter())) { String basename = warFile.getName().replaceFirst("\\.war$", "");
fHandlers.addHandler(new WebAppContext(warFile.getAbsolutePath(), "/" + basename));
}
}
}
这些战争文件对类路径中可能存在或不存在的一些类有一些依赖关系。
现在,如果我的一个 servlet 缺少依赖项,我的整个嵌入式 Jetty 服务就会失败。(因为 NoClassDefFoundExceptions)
我需要一种方法,它允许我捕获失败的 servlet 的异常并且根本不激活它们。我正在寻找与当 servlet 加载失败时 TomCat 所做的相同的事情:它仍然加载其余部分。
在谷歌上搜索了一段时间后,我没有找到任何解决方案。
有人知道我如何使用嵌入式 Jetty 8 解决这个问题吗?