首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在conf/routes没有变化的情况下,会自动重新生成play框架生成的路由文件

在Play框架中,即使conf/routes文件没有发生变化,路由文件有时也会自动重新生成。这种情况可能由以下几个因素引起:

基础概念

Play框架使用了一种称为“热重载”的机制,它允许应用程序在代码更改时自动重新编译和重新加载部分或全部应用程序,而无需重启整个服务器。这种机制提高了开发效率,因为它减少了等待服务器重启的时间。

相关优势

  1. 提高开发效率:开发者可以快速看到代码更改的效果。
  2. 减少手动重启:避免了频繁的手动重启服务器的操作。

类型与应用场景

  • 自动重载:在开发模式下,Play框架会监视conf/routes文件以及其他源代码文件的变化,并自动重新编译和加载。
  • 应用场景:主要用于开发和调试阶段,使得开发者能够即时验证代码更改的效果。

可能的原因

  1. 文件系统监视器:Play框架可能使用了文件系统监视器来检测conf/routes文件的任何变化,即使这些变化是微小的或看似没有变化。
  2. 缓存失效:框架内部可能有缓存机制,当检测到文件访问或修改时间变化时,即使内容未变,也会使缓存失效并重新生成路由文件。
  3. 定时任务:在某些情况下,可能存在定时任务定期检查文件状态并触发重载。

解决方法

如果自动重新生成路由文件带来了不便,可以尝试以下方法:

  1. 关闭热重载:在application.conf文件中设置play.server.http.idleTimeout为一个较大的值,以减少重载频率。
  2. 关闭热重载:在application.conf文件中设置play.server.http.idleTimeout为一个较大的值,以减少重载频率。
  3. 使用生产模式:在生产环境中部署应用程序时,Play框架默认关闭了热重载功能。
  4. 检查插件或扩展:某些第三方插件或扩展可能会影响文件监视行为,检查并禁用可能引起问题的插件。
  5. 手动控制:如果需要更精细的控制,可以考虑编写自定义脚本或使用外部工具来手动触发路由文件的生成。

示例代码

假设你想在application.conf中禁用自动重载功能,可以添加如下配置:

代码语言:txt
复制
play.server.http.idleTimeout = 3600s

这将设置空闲超时时间为1小时,从而减少因微小变化而触发的自动重载。

通过以上方法,你可以更好地控制Play框架的路由文件生成行为,以适应你的开发需求和工作流程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

体验 Scala 语言的 Play Web 框架

项目文件夹中并启动该项目 cd baeldung-play-framework sbt run 这是我们第一次启动项目,可能会花点时间在构建和编译上。...当 Play 项目服务器接收到请求时,它首先会检查 conf/routes 文件,以确定哪个 Controller 控制器和方法将处理该请求。...该 sum 参数在 HomeController.scala 中计算并传递给 Ok 函数,该函数返回状态代码为 200 内容为 OK 最后我们需要打开 conf/routes 文件并添加一个新的路径和...编写测试用例 最后,我们来看看有 sbt 命令行工具在创建 Play 框架项目的时候生成的测试用例文件夹。...最后,我们查看了自动生成的测试用例并实现了我们创建的功能的测试用例并通过测试。 该项目的源码可以在 GitHub 上获得。

2K50

来玩Play框架02 响应

我上一章总结了Play框架的基本使用。这一章里,我将修改和增加响应。 HTTP协议是按照“请求-响应”的方式工作。Play框架的核心是用动作(Action)来完成“请求-响应”。...URL路由(routes)记录了URL和动作的对应关系。 IDE 在开发代码之前,先简单介绍如何使用Eclipse,开发Play项目。...后面的代码中,如果没有写明import的包,可以在Eclipse环境下自动寻找。 理解响应 我先来介绍控制器和URL路由。我以Play默认生成的动作为例讲解。你可以在Play项目中找到下面文件。...一个请求进入服务器后,由URL路由引导到正确的动作来处理。URL路由根据请求的方法和URL来识别这一请求,再寻找对应动作。 ? URL路由是一个文件,即项目根目录下的conf/routes。... 修改routes,并验证效果。 URL路由 URL路由是由一行一行的记录组成的。

85460
  • 来玩Play框架01 简介

    想要轻巧好用的框架?写一个给你就是了。Java程序员Guillaume Bort在JVM上创造了一个全新的框架Play framework。...注: 上面是Ubuntu下的安装过程。Linux系统都类似。 在Mac OS下,选择合适的路径安装play,过程也相同。 对于Windows下的安装,没有探索。欢迎补充。...如果有必要,可以在app下创建models文件夹,用来定义数据模型(model)。 application.conf包含了项目的各个设置参数。 routes记录了url请求和控制器的对应关系。...打开浏览器,访问localhost:9000,将看到运行的test应用。 ? 这一页面是新建项目自带的页面。 解析 Play框架的主要功能是动态生成http响应。...上面的一个简单页面,是如下过程产生的: ? 图中的黑色字体表明了这些功能在项目中所在的具体文件。 routes负责将url导向正确的行动(action)。action是生成http响应的核心。

    1K20

    来玩Play框架01 简介

    想要轻巧好用的框架?写一个给你就是了。Java程序员Guillaume Bort在JVM上创造了一个全新的框架Play framework。...注: 上面是Ubuntu下的安装过程。Linux系统都类似。 在Mac OS下,选择合适的路径安装play,过程也相同。 对于Windows下的安装,没有探索。欢迎补充。...如果有必要,可以在app下创建models文件夹,用来定义数据模型(model)。 application.conf包含了项目的各个设置参数。 routes记录了url请求和控制器的对应关系。...打开浏览器,访问localhost:9000,将看到运行的test应用。 ? 这一页面是新建项目自带的页面。 解析 Play框架的主要功能是动态生成http响应。...上面的一个简单页面,是如下过程产生的: ? 图中的黑色字体表明了这些功能在项目中所在的具体文件。 routes负责将url导向正确的行动(action)。action是生成http响应的核心。

    1.4K70

    转--使用Revel(go)开发网站

    官网号称请求的吞吐量是Rails的3到10倍。Revel的性能好,在开发方面也提供了非常全面的工具。常用的路由、模板、session、参数解析、等几乎都有,甚至还提供了一个测试框架。...视图目录 ├── conf │ ├── app.conf 配置文件 │ └── routes 路由文件 ├── messages 国际化目录 ├── public...现在我们在app/conf/routes这个文件中增加一个路由GET /blogs Blogs.Blogs ? 保存。在views目录下创建blogs目录并在其下创建blogs.html文件。...也就是说,如果我们没有添加任何的路由,只用这个默认的生成的路由也是可以访问到blogs的。可以试一下,在浏览器访问localhost:9000/blogs/blogs。...对于路由、controller和view的修改是不用重启服务的。Revel支持hot-reload。修改后的内容都会自动重新编译。刷新浏览器。 ? 开启你的Revel之旅吧!

    1.1K100

    Vue自动化路由(基于Vue-Router)开篇

    功能主要分为两部分: 路由自动化 服务于库的装饰器 路由自动化中,除了原有的自动生成外,还增加了另外两个在业务中会经常使用到的功能: 设置缺省的Layout 设置缺省的404页面 目录中的子目录关系,用路由中嵌套路由来进行表达...为了达成自动化路由的目的,本质就是要将路由对象按照某种特定的规则进行生成即可。...,自动生成的路由对象会是如下形式(里面的对象是自动生成的,导出语句不是喔,只是为了演示): const routes = [ { path: "/", component: () =...有可能是: vue-router的路由对象routes vue-router-next的路由对象routes 其他路由框架的路由对象 想要适配其他框架, 则只需要实现对应的适配器并加载即可。...,对应了vue-router中的$routes.params 会根据传入的顺序生成path。

    79010

    【云+社区年度征文】vue自动化路由开篇

    原理 [原理图] 为了达成自动化路由的目的,本质就是要将路由对象按照某种特定的规则进行生成即可。...,自动生成的路由对象会是如下形式(里面的对象是自动生成的,导出语句不是喔,只是为了演示): const routes = [ { path: "/", component: () =...有可能是: vue-router的路由对象routes vue-router-next的路由对象routes 其他路由框架的路由对象 想要适配其他框架, 则只需要实现对应的适配器并加载即可。...,对应了vue-router中的$routes.params 会根据传入的顺序生成path。...计划 实现 vue-router-next 的适配器 实现路由文件的自动生成(基于模板语法) 添加可设置所有选项配置的装饰器 开放加载自定义适配器 typescript支持 回补单元测试 总结 做这个库之前

    67400

    PlayFramework 2.1 技巧-性能调优实战

    /routes文件中添加如下路由: GET /:id controllers.Application.test(id:Long) 执行play run启动项目,下面我们打开浏览器进行测试...本文主要从两方面来提高Play2.1的性能,一方面是提高请求处理的并发数;另一方面,仅仅提高处理请求的并发数,在高并发情况下(如压力测试)仍然会处理“AskTimeoutException”,所以要提高这个等待时间...,如果没有可用的actor处理请求,则默认等待1s,如果还没有则报500错误。...好了,通过上面的介绍,我想你应该知道怎么做了,这里给一个示例,把下面这部分配置追加到con/application.conf文件的尾部。...下面的参数书写方式和自动生成的不太一样,不用担心,Play支持多种书写方式,例如点式“db.default.user=sa”和下面这种类似JSON的方式,具体请参考官方文档, play { akka

    1.1K70

    Play Scala 2.5.x - Play Web开发基础

    本文并不会手把手教你如何创建一个Play应用,而是通过核心的代码片段传递Play的一些设计理念,为不熟悉Play框架的同学提供一个快速了解的途径。...在Play中,一个模板文件就是一个函数,接受一组参数,返回动态执行后的Html内容,函数名就是不带后缀的文件名,例如上面定义的模板文件编译后生成的函数名称是login。...Play的模板层采用Scala语言编写,借助Scala语言,在Play的模板层你会感觉自己像是一只脱了缰的野马。其实在模板层只需要了解Scala的if和for语法即可。...关联Http请求和Action Play使用routes文件定义Http请求和Action之间的映射关系,编辑conf/routes文件,添加一行: GET /login controllers.ApplicationController.login...小结 通过上面简单的登录示例我们会发现,Play中Controller和View是两个独立的模块,之间没有任何耦合。

    1.4K80

    Angular实战之使用NG-ZORRO创建一个企业级中后台框架(进阶篇)

    这一章主要介绍的是如何在创建好的后台管理页面框架的快速生成NG-ZORRO相关的组件,并且介绍Angular相关目录结构、生命周期函数,路由配置和使用相关知识点,以及如何使用Angular CLI使用一行代码快速添加...|-- karma.conf.js // 自动化测试框架Karma的配置文件 |-- package-lock.json // 依赖包版本锁定文件 |-- package.json // 标准的npm...// 自动化测试框架Karma的配置文件 |-- style.css // 整个项目的全局css |-- test.ts // 测试入口 |-- app目录 |-- app-routing.module.ts...修改项目默认调转页面,Angular应用多模块路由配置: 找到app-routing.module.ts文件,在【routes】对象中声明新模块路由,以及项目默认调转页面地址修改。 ?...自定义页面Layout布局(动态菜单栏配置): 一般情况下我们的页面动态菜单都是从后台读取,然后遍历绑定在【app.component.html】页面中的,我们这里没有展示没有涉及到后台就是用固定式的路由

    4K20

    leader 让我设计实现多标签页~我竟一时没想到好的实现~

    多页签结构如下:路由与组件一对一,组件与实例一对多,实例与页签一对一 以组件实例为维度构建页签,因此需劫持渲染。多页签之所以能劫持渲染是因为其就是一个高阶组件,监听路由变化生成对应的实例。...自己维护当前展示的组件列表,从框架提供的全局路由信息生成对应的组件实例,向下渲染。从路由配置里面表现为所有的组件路由都是多页签路由的子路由。.../two', icon: 'cluster', }, ] } 那么具体的代码思路如下 从框架提供的路由信息里面拿到生成组件实例的方法,维护一个页签队列 监听路由变化,路由不在队列就加入...三、扩展到自建路由 有了上面的设计思路,平时开发中也会遇到自建路由的需求。路由本质就是路径字符串到组件的映射。...这里还有一点需要注意的地方,传统异步加载是这样的方式() => import('./componentA'),没有添加 React.lazy,这样加载出来的文件会被解析为 module。

    96610

    Linkerd 通过 ServiceProfile 实现超时和重试

    ServiceProfile 会枚举 Linkerd 为该服务期望的路由。 我们可以手动创建 ServiceProfile,但也可以自动生成它们。...同样在服务配置文件之前,我们只知道 web 服务正在返回错误,现在我们错误是来自与 /api/vote 路由,另外的 [DEFAULT] 默认路由表示当服务配置文件中没有路由匹配请求时 Linkerd...还要注意我们的默认路由,标记为 [DEFAULT],同样这是 Linkerd 在服务配置文件中没有与请求匹配的路由时使用的路由。...然而,从我们的角度来看,并没有进行任何配置,只需要知道:Linkerd 会自动在其端点之间平衡请求。 接着看看超时,超时是在路由上设置最长时间的一种方式。...实际指标和有效指标之间的区别是: 实际值来自接收请求的服务器的角度 有效值是从发送请求的客户端的角度来看的 在没有重试和超时的情况下,显然这两个数据是相同的。

    72020

    2022前端经典vue面试题(持续更新中)

    DOM 至少可以保证在你不需要手动优化的情况下,依然可以提供还不错的性能,即保证性能的下限;无需手动操作 DOM: 我们不再需要手动去操作 DOM,只需要写好 View-Model 的代码逻辑,框架会根据虚拟...computed具有缓存性,computed的值在getter执行后是会缓存的,只有在它依赖的属性值改变之后,下一次获取computed的值时才会重新调用对应的getter来计算computed适用于计算比较消耗性能的计算场景...watch:更多的是「观察」的作用,类似于某些数据的监听回调,用于观察props $emit或者本组件的值,当数据变化时来执行回调进行后续操作无缓存性,页面重新渲染时值不变化也会执行小结:computed...减小入口文件体积常用的手段是路由懒加载,把不同路由对应的组件分割成不同的代码块,待路由被请求的时候会单独打包路由,使得入口文件变小,加载速度大大增加图片在vue-router配置路由的时候,采用动态加载路由的形式.../components/ShowBlogs.vue')]以函数的形式加载路由,这样就可以把各自的路由文件分别打包,只有在解析给定的路由时,才会加载路由组件2.

    1K30

    Vue 服务端渲染原理解析与入门实战

    文件并自动生成对应的路由配置。...路由 基础路由 基础路由不需要配置,Nuxt.js 会根据 pages 中的文件夹及文件,自动生成的路由配置 假设 pages 的目录结构如下: pages/ --| user/ -----| index.vue...-----| one.vue --| index.vue 那么,Nuxt.js 自动生成的路由配置如下: router: { routes: [ { name: '...npm run generate 命令就是用来专门做静态导出的,这个命令执行后,Nuxt 会根据路由配置,将应用的全部内容生成对应的 HTML 静态站点资源,这个命令会创建一个 dist 文件夹,所有静态化后的资源文件均在其中...动态路由手动配置 如果想让 Nuxt.js 为动态路由也生成静态文件,需要指定动态路由参数的值,并配置到 routes 数组中去。

    7.8K40

    ASP.NET Core 3.0 的新增功能

    在 SignalR 的 JavaScript 和 .NET 客户端中,添加了对自动重新连接的支持。默认情况下,客户端尝试自动重新连接,并在 2, 10 和 30 秒后(如有必要)重试。...使用终结点路由,通常可以在 UseRouting 中配置所有的路由: app.UseRouting(routes => { routes.MapRazorPages(); routes.MapHub...必须在主机上生成和配置密钥表文件。 有关更多信息,请参见在 ASP.NET Core 中配置 Windows 身份验证。...IIS 中改进了的错误报告 现在,在 IIS 中托管 ASP.NET Core 应用程序时的启动错误会生成更丰富的诊断数据。这些错误会在适用的情况下使用堆栈跟踪,报告给 Windows 事件日志。...在项目文件中使用 Microsoft.NET.Sdk.Web SDK 时,将自动引用共享框架: 从 ASP.NET Core

    6.8K30

    10个技巧优化PHP程序Laravel 5框架

    路由缓存 路由缓存可以有效的提高路由器的注册效率,在大型应用程序中效果越加明显,可以使用以下命令: php artisan route:cache 以上命令会生成 bootstrap/cache/routes.php...可以使用下面命令清除路由缓存: php artisan route:clear 此命令做的事情就是把 bootstrap/cache/routes.php 文件删除。...你可以可以通过修改 config/compile.php 文件来添加要合并的类。 在 production 环境中,参数 --force 不需要指定,文件就会自动生成。...要清除类映射加载优化,请运行以下命令: php artisan clear-compiled 此命令会删除上面 optimize 生成的两个文件。...使用即时编译器 HHVM 和 OpCache 都能轻轻松松的让你的应用程序在不用做任何修改的情况下,直接提高 50% 或者更高的性能,PHPhub 之前做个一个实验,具体请见:使用 OpCache 提升

    5.4K20
    领券