私は既存のプロジェクトに取り組んでいます。これは、Java で記述されたバックエンドと、WAR ファイルとしてパッケージ化された多数の静的イメージ、HTML、および Javascript リソースを備えた Web アプリケーションです。
このプロジェクトはかなり古く、次の点で完全にカスタム構造になっています。
- ディレクトリ構造、
- 依存関係管理 (ディレクトリ内の jar の束、Maven のような特定のビルドへの明示的な依存関係なし)、
- ビルド タスク (WAR ファイルのコンパイルと作成、カスタム Ant スクリプトを使用したクラスパスの設定、WAR ファイルのビルド時にいくつかのファイルをコピーし、他のファイルをコピーしないなど)。
この構造を近代化し、プロジェクトを Gradle に移行したいと考えています。可能な限りデフォルトのディレクトリ構造とビルド タスクに固執したいと思います。
これには、src/main/webapp を作成し、すべての静的リソースをそのディレクトリの下に移動することが含まれます。デフォルトのビルド タスクは、src/main/webapp の下のすべてを WAR ファイルのルートにパッケージ化します。
問題は、Javascript コードが自明ではないため、単体テストの定義やサードパーティ ライブラリの縮小されていないバージョンなど、開発時またはテスト時にのみ関連する多数の Javascript ファイルが存在することです。
これらのファイルを src/main/webapp に配置すると、ビルド タスクをカスタマイズして除外しない限り (具体的には gradle war タスク)、それらは WAR ファイルに含まれて運用環境にデプロイされます。
それらを別のディレクトリに配置すると、カスタムのディレクトリ構造が作成され、開発中にそれらを便利に参照できるようにするには、おそらく環境をカスタマイズする必要があります。
人々は通常、このタイプのセットアップにどのように対処しますか?