玩框架.无需编译

soc*_*ket 6 java jit web-applications compilation playframework

我被介绍到Play框架,我发现它的一个惊人的事情是没有必要编译项目.您只需要保存已编辑的文件并重新加载网页.

我被告知Java源代码被编译为字节码,然后使用JIT编译器进行编译,那么Play框架内部的魔力是什么?

Cod*_*nci 11

在DEV模式下运行时,Play的工作方式是检查java文件的上次修改日期,并使用在运行时生成的.class文件交叉引用它们.如果它识别出某些内容已发生变化,那么它会在运行时重新编译它们.

在Play 1.x中 - 使用eclipse jdt编译器(org.eclipse.jdt.internal.compiler.Compiler)完成重新编译.如果你想看看Play 1.x的代码,请看下面的类 - https://github.com/playframework/play/blob/master/framework/src/play/classloading/ApplicationCompiler.java

在Play 2.x中,看起来Play通过与SBT工具链接来实现它.看看这个 - https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/core/system/ApplicationProvider.scala