玩框架。无需编译

2024-04-21

我被介绍到 Play 框架,我发现它的令人惊奇的事情之一是不需要编译项目。您只需保存编辑的文件并重新加载网页即可。

我听说 Java 源代码被编译为字节码,然后使用 JIT 编译器进行编译,那么 Play 框架内部到底有什么魔力呢?


在 DEV 模式下运行时,Play 的工作方式是检查 java 文件的最后修改日期,并将它们与运行时生成的 .class 文件交叉引用。如果它发现某些内容发生了变化,那么它会在运行时重新编译它们。

在 Play 1.x 中 - 使用 eclipse jdt 编译器 (org.eclipse.jdt.internal.compiler.Compiler) 完成重新编译。如果您想查看 Play 1.x 中的代码,只需查看以下类 -https://github.com/playframework/play/blob/master/framework/src/play/classloading/ApplicationCompiler.java https://github.com/playframework/play/blob/master/framework/src/play/classloading/ApplicationCompiler.java

在 Play 2.x 中,Play 看起来好像是通过与 SBT 工具互连来实现的。看一下这个 -https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/core/system/ApplicationProvider.scala https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/core/system/ApplicationProvider.scala

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

玩框架。无需编译 的相关文章

随机推荐

  • 使用 nltk 分割句子,同时保留引号

    我正在使用 nltk 将文本拆分为句子单元 但是 我需要将包含引号的句子提取为一个单元 现在 每个句子 即使它在引用中 也会被提取为一个单独的部分 这是我尝试将其提取为单个单元的示例 This is a sentence This is a
  • 使用真实 HTTP 进行 Angular Jasmine 与服务的集成测试

    角度版本 2 4 5 我正在尝试编写一个 Angular 集成组件单元测试 其中包含利用内置 Angular HTTP 库的服务 但我无法实例化我的服务类 要么服务未定义 要么我收到 错误 无法解析 RequestOptions 的所有参数
  • ASP.NET MVC 中使用 jQuery 进行 Ajax 调用不传递参数

    路线是 routes MapRoute Ajax Route name BizTalk Services action URL with parameters new Parameter defaults controller BizTal
  • 将 OpenCV 的 findHomography 透视矩阵转换为 iOS 的 CATransform3D

    我想获取从 OpenCV 返回的透视变换矩阵findHomography http docs opencv org modules calib3d doc camera calibration and 3d reconstruction h
  • 通过 jQuery 打开和关闭 Div

    繁花似锦 在过去的几篇文章中 你们都帮助我走得很远 如果你们能够帮助我 我现在面临另一个问题 我也认为上次我没有解释得很好 所以就这样吧 我有 3 个 id div 名为 white v2black v3black 我的目标是拥有一个超链接
  • 非静态方法 getActivity()

    我将方法 showResult 设为静态 但我有问题 Toast makeText getActivity getApplication result2 n Total Amount totalAmount2 Toast LENGTH LO
  • Emacs 在 haskell 模式下挂起,并调用 下面的 haskell-load-file 调用

    当在 Haskell 文件中时 我使用C c C l运行命令inferior haskell load file其目的是将当前文件加载到 GHCI 解释器中 但 Emacs 会挂起 直到我点击C g 有人知道我怎样才能让它发挥作用吗 all
  • 如何使用保存实例状态来保存活动状态?

    我一直在研究Android SDK平台 并且不太清楚如何保存应用程序的状态 因此 考虑到对 Hello Android 示例的这个小改动 package com android hello import android app Activi
  • 使用 R 中的 Cox 比例风险模型计算生存预测

    我正在尝试使用 R 中的 Cox 比例风险模型来计算生存预测 library survival data lung model lt coxph Surv time status 2 age sex ph karno wt loss dat
  • 删除项目后强制刷新桌面上的图标,或首先停止添加项目

    我创建了一个 powershell 脚本来侦听要在桌面上创建的文件 如果文件符合特定条件 则会立即删除该文件 我用了Remove Item path where path是我要删除的文件的路径 问题是 Windows 仍然添加并继续在桌面上
  • 在 Perl 中正确检测文件的行结尾?

    问题 我有在 Windows 和 nix 上生成的数据 大部分为 CSV 格式 并且大部分在 nix 上处理 Windows 使用 CRLF 作为行结束符 Unix 使用 LF 对于任何特定文件 我不知道它是否有 windows 或 nix
  • 在 JQuery 事件中查找父元素

    我添加了一个点击事件 如下所示 并想检查目标是否有特定的父级 document click function event Check here if target has specific parent for example gt par
  • 使用 Powershell 获取 Windows DisplayLanguage

    我正在尝试通过 powershell 获取 Windows 显示语言设置 我尝试了 Get WinUserLanguageList 但这会返回所有语言的列表 Get WinSystemLocale 和 Get Culture 也不是我正在寻
  • sessionState 超时不适用于 DefaultSessionProvider

    我有一个网站 我使用 ASP NET 成员资格来管理用户创建 登录 角色管理 我使用 Visual Studio 2012 web config 中有很多由 Visual Studio 创建的元素 与会话状态相关的元素之一如下 sessio
  • Struts2 在 select 标签中使用 Map

    您可以轻松地在struts2 select标签中使用List 但是有没有办法在标签中使用Map 如果可以请提供示例代码 thanx 在我的动作课上 public class MyAction extends ActionSupport pr
  • Facebook的“蓝色”背景色的十六进制代码是什么?

    我想为我的手机应用程序设置背景颜色 例如 Facebook 的蓝色背景颜色 那么它的十六进制代码是什么呢 蓝色主横幅的颜色是 3b5999 用于评论背景的浅蓝色是 eeeff4 解决这个问题的一种方法是抓取屏幕截图并在具有颜色选择器工具的图
  • AVLayerVideoGravityResize 在新设备、iOS 10 上不匹配?

    具有全屏实时预览功能的相机 previewLayer videoGravity AVLayerVideoGravityResize 制作图像 stillImageOutput captureStillImageAsynchronously
  • 使用自制软件安装hadoop时出错

    我正在尝试在 Mac 上本地安装 hadoop 但在尝试 brew install hadoop 时收到以下错误 brew install hadoop gt Downloading http www apache org dyn clos
  • IntelliJ IDEA 中缺少“更新资源”选项

    我正在使用 tomcat 7 来开发 java web 应用程序 在调试模式下运行tomcat 我在 更新 菜单上没有 更新资源 和 更新类和资源 选项 只有 热插拔类 重新部署 和 重新启动服务器 请问你能帮忙找到他们吗 预先非常感谢 这
  • 玩框架。无需编译

    我被介绍到 Play 框架 我发现它的令人惊奇的事情之一是不需要编译项目 您只需保存编辑的文件并重新加载网页即可 我听说 Java 源代码被编译为字节码 然后使用 JIT 编译器进行编译 那么 Play 框架内部到底有什么魔力呢 在 DEV