是否有一种生成JAR文件的简单方法,该文件仅包含依赖于某个“主”类传递的类(当然忽略了反射)。 我想向其他人提供我的应用程序的一小部分,但不想导出整个应用程序。
谢谢, 微米。
答案 0 :(得分:0)
可能最简单的方法是使用像yGuard这样的工具,“......通过依赖性分析提供精细的代码缩减功能。”这也可以解决你给它一个入口点的同样问题,并且它执行依赖性分析以确定可以从Jar中排除哪些类。
但是,我自己已经解决了这个问题几次并且想要自己去挑战。它所需要的只是解析Java源文件的import语句,并构建类如何相互交互的可靠性图。应该递归扫描主类中的每个引用,直到组装完整的图形。然后,一旦组装了图形,就会出现这种情况,即某些打包逻辑可以处理(或者如果你感觉很大胆,那么JDK有自己的内置Jar创建/修改代码来自己完成)。当然,这种方法需要编写这个自定义实用程序,并且还会错过代码中的完全限定类引用。