Java 是否在刷新时重新编译所有文件?

Java 是否在刷新时重新编译所有文件?,java,playframework,Java,Playframework,我开始使用游戏框架, 我试过一些例子,我想知道它在页面刷新时是如何工作的:它是重新编译所有文件还是只编译那些被修改的文件 Play仅在您第一次打开浏览器时编译整个项目。这意味着第一次在浏览器中运行它时,加载速度可能会有点慢。我不确定play如何识别上次编译时修改过的文件,但为了回答您的问题,它只编译修改过的文件。play只在您第一次打开浏览器时编译整个项目。这意味着第一次在浏览器中运行它时,加载速度可能会有点慢。我不确定play如何识别上次编译时修改过的文件,但为了回答您的问题,它只编译修改过的

我开始使用游戏框架,
我试过一些例子,我想知道它在页面刷新时是如何工作的:它是重新编译所有文件还是只编译那些被修改的文件

Play仅在您第一次打开浏览器时编译整个项目。这意味着第一次在浏览器中运行它时,加载速度可能会有点慢。我不确定play如何识别上次编译时修改过的文件,但为了回答您的问题,它只编译修改过的文件。

play只在您第一次打开浏览器时编译整个项目。这意味着第一次在浏览器中运行它时,加载速度可能会有点慢。我不确定play如何识别上次编译时修改过的文件,但为了回答您的问题,它只编译修改过的文件。

您可以阅读这篇文章,解释play的热重新加载工作原理:

基本上,游戏中使用的文件更改SBT构建工具可以识别要重新编译的内容,并在实例中重新插入新代码


请注意,它只在无状态的环境中工作,因为它既不垃圾也不重新初始化旧对象。在无状态世界中,每个请求都会创建它所需的所有对象,并且不会从外部保留任何内容。如果您在Play中使用WebSocket,您可能会遇到一些奇怪的行为,因为WebSocket是有状态的,您必须打开一个新的套接字才能进行更改。

您可以阅读这篇文章,其中解释了Play的热重新加载工作原理:

基本上,游戏中使用的文件更改SBT构建工具可以识别要重新编译的内容,并在实例中重新插入新代码


请注意,它只在无状态的环境中工作,因为它既不垃圾也不重新初始化旧对象。在无状态世界中,每个请求都会创建它所需的所有对象,并且不会从外部保留任何内容。如果您在Play中使用WebSocket,您可能会遇到一些奇怪的行为,因为WebSocket是有状态的,您必须打开一个新的套接字才能获得更改。

它仅在修改后重新编译相关文件。以下是Play官方网站的内容:

在开发模式下运行服务器

作为旁注,Play使用JNotify监视文件系统中的更改


这里有一个JNotify的链接:

它只在修改后重新编译相关文件。以下是Play官方网站的内容:

在开发模式下运行服务器

作为旁注,Play使用JNotify监视文件系统中的更改


以下是JNotify的链接:

请指定您使用的playframework版本。请指定您使用的playframework版本。
In this mode, the server will be launched with the auto-reload feature enabled, 
meaning that for each request Play will check your project and recompile required sources. 
If needed the application will restart automatically.