编译器(例如javac)是否可以在编译前扫描整个项目,查找未使用的方法和变量,然后在没有这些未使用的方式和变量的情况下编译项目,从而减少可执行代码的字节数。
如果这是一个编译器优化,我会创建一个包含我所有助手方法的巨大库,并将其导入我的所有项目中,而不必担心它太大会影响我的软件大小。
我知道,如果您没有正在使用(导入)的库的源代码,这可能是不可能的,但我指的是您有源代码的情况。
有没有一个工具/IDE插件可以做类似的事情?我认为这也可以在汇编之前一步完成。
Java的编译器本身并不能做到这一点,但您可以使用ProGuard等工具或任何数量的其他Java优化器来删除未使用的代码。
但是,在您的情况下,为什么不编译一次大型软件库并将其放在类路径中呢?这样你就根本不必复制它了。