11

Mavenプラグインの動作は非常に遅いです。私のプロジェクトでは、webappフォルダーには15000近くの小さなファイル(画像、jsp、cssなど)があります。target/myProject-1.0.0Mavenを使用してアセンブルすると、最初にすべてのファイルがディレクトリにコピーされ、次にそこmyProject-1.0.0.warからファイルがビルドされます。コピープロセスには10分かかり、ビルドに.warは2分かかります。

.war私が見ているように、ファイルがwebappフォルダーから直接アセンブルされる場合、ビルドははるかに高速になる可能性があります。できますか?

4

3 に答える 3

5

warプラグインの構成セクションで、warSourceExcludesを使用して、不要なファイルとディレクトリーを除外します。以下の例では、ディレクトリcomponentsとnode_modulesは、爆発的な戦争と最終的な戦争から除外されます。私の場合、これによりビルド時間が3分から14秒に短縮されました。

        <configuration>
              <warSourceExcludes>
                components/**,
                node_modules/**
              </warSourceExcludes>
        </configuration>
于 2017-01-03T21:35:41.943 に答える
4

カスタムタスクと一緒にの使用war:inplace目標を使用することをお勧めします。maven-war-pluginmaven-antrun-plugin

war:inplace、WARソースディレクトリにWebアプリケーションを生成します。に必要なすべての追加フォルダが作成されますwebapp

antrun:run、特別な要件に応じて戦争を作成するようにカスタマイズできます。

これにより、パフォーマンスが向上する可能性があります。これは、使用しているリソースファイルのほとんどがまだwebappフォルダー内にあり、コピーされないためです。

于 2012-10-11T08:09:16.723 に答える
4

useCacheパフォーマンスを大幅に向上させる設定があることを述べておきます(12ではなく約3分)。ただし、常にクリーンビルドを実行する必要があるCIサーバーではなく、開発のみに受け入れられます。

于 2012-10-11T10:02:11.320 に答える