5

依存するjarが多数あるJavaコードの小さな部分がある状況があります。ただし、これらのjar内の依存関係は非常に浅いです。ほとんどの場合、それは単一のインターフェースのjarにのみ依存します。

アプリケーションですべてのjarを配布するのではなく、実際に使用するjar内の特定のクラスファイルを配布したいと思います。この理由は、スペースを節約するためです(このコードはアプレットに存在します)。

これを自動的に行うためのツールや方法を知っている人はいますか?すべての依存関係が静的であると仮定すると、これは完全に可能であるように思われます。何か案は?

4

3 に答える 3

5

Classdepandjarは、コードベースを必須クラスに分解します。最適なサイズの瓶を提供するためにJiniの世界で使用されていますが、Jini固有のものはありません。

Antタスクとして利用できます。

于 2009-09-08T08:02:56.833 に答える
3

私の知る限り、これはMavenのみですが、良いスタートです

Maven Shadeプラグイン:このプラグインは、依存関係を含むアーティファクトをuber-jarにパッケージ化し、一部の依存関係のパッケージをシェーディング(つまり名前変更)する機能を提供します。

于 2009-09-08T07:57:38.267 に答える
2

ProGuardは、縮小/最適化と難読化を行います。どちらか一方だけを実行するように構成できると思います。

于 2011-10-28T03:02:57.213 に答える