玩框架。无需编译

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(使用前将#替换为@)

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

  • Java 弱哈希映射 - 需要根据值的弱点而不是键来删除条目

    所以JavaWeakHashMap让我们创建一个映射 如果其键变弱 则删除该映射的条目 但是我怎样才能创建一个Map 当它的条目被删除时values地图上变弱了 我想使用映射的原因是作为全局哈希表 它根据对象的 ID 跟踪对象 ID gt
  • Jackson Json 将对象反序列化为列表

    我正在使用 Spring 的 Web 服务RestTemplate并反序列化Jackson 在来自服务器的 JSON 响应中 其中一个字段可以是对象或列表 这意味着它可以是 result or result 有没有办法通过对我要反序列化的类
  • 黄瓜与 Micronaut

    我正在尝试将 Cucumber 与 Micronaut 一起使用 但当我尝试将其与 Cucumber 一起使用时 MicronautTest 注释根本不起作用 未注入 theApple 请参阅下面的代码 如果我在没有黄瓜的情况下运行它就可以
  • GSON:自定义对象反序列化

    好吧 我编辑了这个问题 因为它不够清楚 Edit 2 更新了 JSON 文件 我在 Android 应用程序中使用 GSON 我需要解析来自服务器的 JSON 文件 而且有点太复杂了 我不想让我的对象结构太重 所以我想简化内容 所以我的对象
  • @NotNull.List 的目的

    当我查看标准时限制条件 http docs oracle com javaee 6 api javax validation constraints package summary html在 Bean Validation API JSR
  • 可以向 @ManyToMany Hibernate 额外表添加额外字段吗?

    我有这两类 表 Entity Table name course public class Course Id Column name courseid private String courseId Column name coursen
  • (Java) 在 Mac OS X 上以编程方式访问“系统根目录”下的 SSL 证书

    我正在编写一个 Java 应用程序 它可以通过远程 Https 站点进行 REST Api 调用 远程站点由受信任的证书签名 它在 Windows 上运行良好 但由于 SSL 证书问题 在 OS X 上运行时遇到问题 我做了一些挖掘 发现原
  • 可以混合使用 JVM 语言吗?即:Groovy 和 Clojure

    我知道你可以轻松地混合groovy java clojure java 无论什么JvmLang java 这是否也意味着我也可以让 clojure 和 groovy 代码进行交互 如果我使用 Grails 或 jRoR 我也可以在该环境中使
  • Java 泛型和数字类型

    我想创建一个通用方法来有效地执行此操作 class MyClass static
  • 在 JSON 对象中强制执行非空字段

    我们的 REST API 接收一些 JSON 对象输入 其中某些字段要求不为空 这些可以是字符串 整数 甚至可以是其他一些类实例作为参考 我们正在尝试找到一种方法来强制这些字段不为空 而不是在 API 中进行空检查的正确方法 当前的 if
  • 如何使用 UUID 生成唯一的正 Long

    我需要为我的数据库主键列生成唯一的长 ID 我以为我可以用UUID randomUUID getMostSignificantBits 但有时它也会产生一些负多头 这对我来说是个问题 是否可以从 UUID 中仅生成正长 将会有数十亿个条目
  • 使用antlr4获取预处理器行并解析C代码

    我正在使用 Antlr4 来解析 C 代码 并使用以下语法来解析 链接到 C g4 https github com antlr grammars v4 blob master c C g4 上面的语法默认不提供任何解析规则来获取预处理器语
  • EclipseLink 2.7.0 和 JPA API 2.2.0 - 签名不匹配

    当运行由maven构建的具有以下依赖项的项目时
  • Android - 保持用户登录状态

    我正在尝试使用 PHP 和 MySQLi for Android 进行登录 我不明白的是如何保持用户登录状态 我看到一个简单的教程 其中有人使用 SQLite 来保护信息 但我不知道这是否真的安全 如何保存用户信息以保持用户登录状态 谢谢
  • .NET JIT 编译的代码缓存在哪里?

    NET 程序首先被编译为 MSIL 代码 当它被执行时 JIT编译器会将其编译为本机机器代码 我想知道 这些JIT编译的机器代码存储在哪里 它只存储在进程的地址空间中吗 但由于程序的第二次启动比第一次快得多 我认为即使在执行完成后 该本机代
  • 线程睡眠阻止我的 Swing 应用程序执行

    我的应用程序发生的事情是有道理的 但我不知道如何修复它 以下是我的应用程序功能的简要描述 计时器窗口应显示在屏幕右下角并显示实时时间 一小时后 它应该执行一些操作 我还没有决定该操作 我面临的问题是定时器 java当我刷新实时计时器的秒数时
  • Spring Boot如何加入自定义查询

    我需要创建一个端点 该端点按州返回人口普查数据以及城市列表 我目前使用两个端点来获取此数据 目前回应 自定义查询一 censusByState id 1 code 11 name Rond nia statePopulation 18152
  • Maven `help: effective-pom` 只为单个项目生成,而不是所有项目

    我想为多模块构建中的所有子项目生成有效的 pom The help effective pom文档here http maven apache org plugins maven help plugin usage html The hel
  • 如何正确使用Google Calendar API Events.Insert命令?

    所以我一直使用REST方法来调用Google的API 我需要将事件插入到我拥有 ID 的特定日历中 这是我发送的 POST 请求 地址 https www googleapis com calendar v3 calendars https
  • 根据 Java 环境变量中的值创建使用 @JsonIgnore 的自定义注释

    我需要创建一个新的注释 用于在环境变量设置时忽略输出 JSON 文件中的字段var false 我尝试使用JsonAnnotationIntrospector 但无法获得预期的输出 public class Vehicle String v

随机推荐

  • 使用 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