我在mac OSX主机上的ubuntu vagrant虚拟机(xenial64)上运行了一个play scala应用程序。我用sbt ~run
当我对文件进行更改时,我看到一条日志语句,说明代码正在编译:
[info] Compiling 1 Scala source to /vagrant/web/target/scala-2.11/classes...
[success] Compiled in 1s
但是,当我在浏览器中访问某个网址时,例如http://localhost:9000/hello
,它会卡在我第一次访问它时返回的返回值上。例如,如果它在我第一次访问它时返回"hello"
并且我将代码更改为返回"hello again"
,我仍会看到"hello"
。
但是,如果我第一次访问网址时在之前更改代码,并且在启动服务器之后,我将看到更改后的版本。
奇怪的是,这似乎是在逐个网址的基础上。因此,如果一个网址被卡住了#34;并且我无法更改返回值,我仍然可以将代码中的返回值更改为我尚未访问的网址。只有当我第一次在浏览器中访问它时才会修复其值。
此听起来就像浏览器缓存问题一样,但事实并非如此。我关闭了浏览器缓存,甚至试图在不同的浏览器中点击相同的URL。价值仍然停滞不前。
但每次我更改代码时,都会看到重新编译的消息。
发生了什么事?