2009-09-08 83 views
5

我遇到有一小段Java代码有大量依赖它的罐子的情况。但是,这些罐子里的依赖关系很浅。在大多数情况下,它只依赖于一个界面的jar。Java最小化依赖关系

而不是分发所有的应用程序的罐子,我想只是在它实际使用的罐子里分布特定的类文件。原因是为了节省空间(这段代码将存在于一个applet中)。

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

回答

5

Classdepandjar将剥离一个代码库到基本类。它在Jini世界用于提供最佳尺寸的罐子,但Jini没有任何具体的细节。

作为Ant任务提供。

3

据我所知,这只是Maven的,但它是一个良好的开端

Maven Shade Plugin:此插件提供的能力打包神器在尤伯杯罐子,包括它的依赖和遮阳 - 即重命名 - 一些依赖关系的包。

2

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