私たちは小さな部品しか使わない重い依存関係(例えばSpring)を持つ小さなプロジェクトを持っています。したがって、すべての依存関係でパッケージ化するときに取得するJARは、2クラスサーバーの場合でも数メガバイトです。これは不要です。依存関係の未使用部分をjar(Maven)から除外します
実際に(クラス)ファイルを使用するようにJARアセンブリを制限する方法はありますか?
私たちは小さな部品しか使わない重い依存関係(例えばSpring)を持つ小さなプロジェクトを持っています。したがって、すべての依存関係でパッケージ化するときに取得するJARは、2クラスサーバーの場合でも数メガバイトです。これは不要です。依存関係の未使用部分をjar(Maven)から除外します
実際に(クラス)ファイルを使用するようにJARアセンブリを制限する方法はありますか?
maven-shade-pluginを使用すると、そのJARに追加されるクラスまたはパッケージを制限しながら、依存関係(プロジェクトと依存関係を1つの大きなJARにマージ)を作成できます。参考までにincludes/excludes pageを参照してください。
何が含まれる必要があるかを手動で指定したくない場合は、おそらくProGuardをビルドに統合する方法があります。
使用されているクラスのみを含めることはできません。しかし、exclude dependencies from your depenciesでJARサイズを小さくすることができます。欠点のみ:除外できるものと除外できるものを知る必要があります。
私はProGuardサイトで多くの有用な参考文献を見つけました。ありがとうございます! Mavenがこれを自動的に行うことができないとしても(残念)、他のツールでも希望があるようです。 – Raphael
maven shade pluginが ' true minimizeJar>'設定 –
harschware
で自動フィルタリングできるようになりました。プロジェクトで試したところ、JARサイズは36%削減され、追加設定は必要ありませんでした。 – harschware