Java最小化依赖关系

我有一种情况,其中有一小段Java代码,它依赖于大量的jar。 但是,这些jar中的依赖关系非常浅。 在大多数情况下,它仅依赖于单个界面的jar。

我不想将所有jar分发给应用程序,而是将特定的类文件分发到它实际使用的jar中。 这样做的原因是为了节省空间(此代码将存在于applet中)。

有谁知道自动执行此操作的工具或方法? 假设所有依赖项都是静态的,这似乎完全有可能。 有任何想法吗?

Classdepandjar将删除基本类的代码库。 它在Jini世界中用于提供最佳尺寸的jar子,但没有关于Jini的具体信息。

可用作Ant任务。

据我所知,这只是maven,但这是一个好的开始

Maven Shade插件 :这个插件提供了将工件打包在超级jar中的function,包括它的依赖关系和阴影 – 即重命名 – 一些依赖项的包。

ProGuard确实缩小/优化并进行混淆。 我认为你可以配置它只做一个或另一个。