Java最小化依赖关系

时间:2009-09-08 07:53:47

标签: java jar jvm dependencies static-analysis

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

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

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

3 个答案:

答案 0 :(得分:5)

Classdepandjar会删除基本类的代码库。它在Jini世界中用于提供最佳尺寸的罐子,但没有Jini特定的罐子。

可用作Ant任务。

答案 1 :(得分:3)

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

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

答案 2 :(得分:2)

ProGuard缩小/优化并混淆。我认为你可以把它配置成只做一个。