この Web アプリケーションは、管理不能な混乱にまで成長しました。
私はそれを共通の「フレームワーク」部分 (ページや画像などの Web 要素をまだ含む) と、追加の機能と画面を追加するいくつかのモジュールに分割したいと考えています。このリファクタリングは、サードパーティの拡張機能のプラグイン システムとしても役立つようにしたいと考えています。
すべてのモジュールは、展開の個別の単位である必要があり、理想的には war または jar ファイルです。
いくつかの通常の war ファイルを作成しようとしましたが、Tomcat は (サーブレットの仕様に従って) これらの war ファイルを互いに完全に分離しているため、たとえばクラスを共有できません。
「メイン」クラスパスを表示できるようにするには、プラグインが必要です。
プラグインを一覧表示したり、構成を設定したりできるように、プラグインをある程度制御するには、アプリケーションをメインにする必要があります。
プラグイン自体 (依存関係を指定しない限り) と、同じ Tomcat で実行されている可能性のある他の無関係な Web アプリケーションとの間の完全な分離を維持したいと考えています。
「メイン」アプリケーション URL プレフィックスの下にルートを設定したいのですが、それは必須ではありません。
私は Tomcat を使用したいと思っています (大きなアーキテクチャの変更は、あまりにも多くの人々と調整する必要があります) が、EJB または OSGi の世界でのクリーンなソリューションについても聞きたいです。