起動時にいくつかの *.war ファイルをロードする組み込みの Jetty 8 サーバーを実行しています。
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));
}
}
}
これらの war ファイルには、クラスパスに存在する場合と存在しない場合があるいくつかのクラスに依存関係があります。
現在、サーブレットの 1 つに依存関係がない場合、組み込みの Jetty サービス全体が失敗します。(NoClassDefFoundExceptionsのため)
失敗したサーブレットの例外をキャッチし、それらをアクティブにしない方法が必要です。私は、サーブレットのロードに失敗したときに TomCat が行うのと同じことを探しています。残りは引き続きロードされます。
Googleでしばらく検索しても解決策が見つかりませんでした。
組み込みの Jetty 8 を使用してこの問題に取り組む方法を知っている人はいますか?