我们正在使用play framework 2.6.21(但我们可以用play 2.6.19重现它)。
有时(问题显得很随机),我们的播放应用程序开始重新编译并重新加载public
文件夹中的每个更改。
经过(不是那么)快速调查后,当游戏开始像这样,我可以杀死游戏,重启sbt
然后多次输入compile
,而不做任何介于两者之间,每次都重新编译一些文件。
last compile
命令显示更改的文件是生成的路由文件(Routes.scala,RoutesPrefix.scala等)。 ls -l
显示这些文件已得到有效更新。但文件conf/routes
显示没有变化。
在这里我被卡住了,我不知道如何进一步调查。
我怎么知道为什么这些路由文件被更新?什么在更新它们?我可以键入哪个sbt
命令来了解执行任务的原因?
如果有人在将来遇到同样的问题,我会回答我自己的问题:
我们实际上有2个路径文件:conf/routes
和conf/apps.routes
,conf/routes
包含该行
-> /apps apps.Routes
在那些文件中,我们引用相同控制器的2条路由,但行动不同。这就是造成这个问题的原因
在2中拆分此控制器修复了重新编译循环...