是否有可能像 ccache 对 C 或 C++ 编译那样缓存 java 编译?
我有很多代码需要编译,而且我多次编译相同的代码,所以花了很多时间。所以我想缓存它以加快速度。
但主要问题是,整个源代码在很多目录下有很多文件,而且有很多java文件。编译是由 make 脚本调用的 ant 脚本完成的。它必须由Sun 的JDK 编译。更重要的是...在编译之间我必须清理所有创建的 *class 文件。
所以我无法使用 IDE 的任何功能。
Eclipse 对类进行增量编译(我猜其他人也这样做)。只有类中发生更改的部分才会被编译。其他一切都不会改变。它在现实世界的项目中运行得相当好。
像Maven和Ant这样的构建工具可以配置为仅编译更改的java文件。在某些情况下,它们不会跟踪依赖关系,它们会错过所需的编译。 (例如更改超类中的签名。)
然而,大多数 Java IDE 都会缓存编译,因此如果您需要“按需编译”,那么就可以了。
Eclipse 和 Netbeans 肯定有这个。他们只会重新编译更改的类(以及他们自动找出的依赖项)。对于大多数更改来说,这相当快。