5

我有一种情况,其中有一小段 Java 代码具有大量依赖的 jar。但是,这些 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 回答