本文共 969 字,大约阅读时间需要 3 分钟。
什么是sjavac,它是谁,我该如何使用它?
转载:
OpenJDK邮件列表中的 sjavac 。此外,还有两个相关的JEP:
。
我的问题是:
解决方案
什么是sjavac工具?
sjavac 工具是围绕 javac 的(据称是智能)包装器,在Oracle开发并旨在提供以下功能:
重新编译一组源文件时,javac会查看.java的时间戳和.class文件来确定要保留的内容和要重新编译的内容。这非常粗糙,对于大型代码库来说可能是毁灭性的。除了时间戳,sjavac还会检查依赖项的公共API,以判断哪些文件需要重新编译。
Sjavac还尝试将编译拆分为多个javac调用。换句话说,它为构建过程带来了高水平的并行性。
最后,sjavac工具分为客户端部分和服务器部分,允许您让sjavac在后台运行,JIT'并准备连续使用。
它的目的是什么?
我们鼓励那些正在开发大型项目并经常在开发过程中重新编译代码库的人试用 sjavac 。 (请注意,该工具目前正在开发中,但仍存在未解决的问题。)
OpenJDK尚未附带该工具,因此您必须从。此外,还没有启动器,所以你用 java com.sun.tools.sjavac.Main 调用它。如何使用它?
您可以在这里尝试sjavac的jdk 8后端: