Playframework 当我只是更改一个java类时,为什么play要编译所有java代码?

Playframework 当我只是更改一个java类时,为什么play要编译所有java代码?,playframework,sbt,Playframework,Sbt,使用play 2.3.3版本,当我更改一个java类时,为什么play要编译所有java代码?好吧,它不会重新编译所有java代码。Play使用在批处理编译器()上构建的增量编译器 长话短说: 更改文件时,理想情况下,编译器将执行两个步骤: 搜索修改过的文件 检查哪些其他文件(依赖项)需要重新编译(基于步骤1) 但是(总是有一个BUT)有时候依赖关系可能非常复杂,因此需要额外的步骤。可以通过遵循一些最佳实践来优化此过程(请参阅下面提供的链接) 因此,它实际重新编译的程度取决于更改的性质和依赖关系

使用play 2.3.3版本,当我更改一个java类时,为什么play要编译所有java代码?

好吧,它不会重新编译所有java代码。Play使用在批处理编译器()上构建的增量编译器

长话短说:

更改文件时,理想情况下,编译器将执行两个步骤:

  • 搜索修改过的文件
  • 检查哪些其他文件(依赖项)需要重新编译(基于步骤1)
  • 但是(总是有一个BUT)有时候依赖关系可能非常复杂,因此需要额外的步骤。可以通过遵循一些最佳实践来优化此过程(请参阅下面提供的链接)

    因此,它实际重新编译的程度取决于更改的性质和依赖关系的复杂性

    关于这个话题有更详细的讨论


    干杯

    事实上,Play使用了一个定制的监视监视器,但随后增量编译将通过SBT进行。也就是说,编译触发器在某种程度上是特定于播放的,但编译的内容并不是特定于播放的,因为SBT仍然负责检测该字段中需要的内容。一旦代码发生更改,重新编译的内容就不是特定于播放的。需要清楚地说明。