2011-08-05 7 views
13

私たちは小さな部品しか使わない重い依存関係(例えばSpring)を持つ小さなプロジェクトを持っています。したがって、すべての依存関係でパッケージ化するときに取得するJARは、2クラスサーバーの場合でも数メガバイトです。これは不要です。依存関係の未使用部分をjar(Maven)から除外します

実際に(クラス)ファイルを使用するようにJARアセンブリを制限する方法はありますか?

答えて

9

maven-shade-pluginを使用すると、そのJARに追加されるクラスまたはパッケージを制限しながら、依存関係(プロジェクトと依存関係を1つの大きなJARにマージ)を作成できます。参考までにincludes/excludes pageを参照してください。

何が含まれる必要があるかを手動で指定したくない場合は、おそらくProGuardをビルドに統合する方法があります。

+0

私はProGuardサイトで多くの有用な参考文献を見つけました。ありがとうございます! Mavenがこれを自動的に行うことができないとしても(残念)、他のツールでも希望があるようです。 – Raphael

+4

maven shade pluginが ' true'設定 – harschware

+0

で自動フィルタリングできるようになりました。プロジェクトで試したところ、JARサイズは36%削減され、追加設定は必要ありませんでした。 – harschware

2

使用されているクラスのみを含めることはできません。しかし、exclude dependencies from your depenciesでJARサイズを小さくすることができます。欠点のみ:除外できるものと除外できるものを知る必要があります。

関連する問題