我有一种情况,其中有一小段 Java 代码具有大量依赖的 jar。但是,这些 jar 中的依赖关系非常浅。在大多数情况下,它只依赖于单个接口的 jar。
我不想在应用程序中分发所有 jar,而是在它实际使用的 jar 中分发特定的类文件。这样做的原因是为了节省空间(此代码将存在于小程序中)。
有谁知道自动执行此操作的工具或方法?假设所有依赖项都是静态的,这似乎完全有可能。有任何想法吗?
我有一种情况,其中有一小段 Java 代码具有大量依赖的 jar。但是,这些 jar 中的依赖关系非常浅。在大多数情况下,它只依赖于单个接口的 jar。
我不想在应用程序中分发所有 jar,而是在它实际使用的 jar 中分发特定的类文件。这样做的原因是为了节省空间(此代码将存在于小程序中)。
有谁知道自动执行此操作的工具或方法?假设所有依赖项都是静态的,这似乎完全有可能。有任何想法吗?
Classdepandjar将把代码库剥离为基本类。它在 Jini 世界中用于提供最佳尺寸的罐子,但它并没有 Jini 特定的东西。
可作为 Ant 任务使用。
据我所知,这只是 maven,但这是一个好的开始
Maven Shade 插件:这个插件提供了将工件打包到 uber-jar 中的能力,包括它的依赖项和遮蔽 - 即重命名 - 一些依赖项的包。
ProGuard进行收缩/优化和混淆。我认为您可以将其配置为仅执行其中一项。