中英文对照 介绍Play Framework 框架 模块

Unity离线语音唤醒:5分钟集成Windows.Speech实现关键词识别 语音识别技术作为人机交互的重要分支,其核心原理在于将音频信号转化为文本或指令。在本地化、低延迟场景中,离线语音识别引擎通过预定义语法规则,在有限词汇集内进行高效匹配,避免了云端服务的网络依赖与隐私顾虑。这一技术为桌面应用提供了快速响应的语音交互能力,尤其适用于指令固定、对启动速度和隐私有要求的场景。Unity开发者借助Windows系统内置的Windows.Speech引擎,可轻松实现离线关键词唤醒功能,例如“开始”、“停止”等预设指令的识别。该方案基于.NET Framework,无需额外SDK,集成简便 阅读详情
使用Play的模块

h1. Using Play modules

 

一个Play的应用可以是一些应用模块的集合,这允许你可以在不同的应用中重用应用的组件,或在一个大的项目中将应用分割为几个小的应用。

A Play application can be assembled from several application modules. This allows you to reuse application components across several application or split a large application into several smaller applications.

 

什么是模块

h2. <a>What is a module?</a>

 

一个模块只是另一个Play应用,只是在应用的模块中的资源的载入方面中有一些不同。

A module is just another Play application; however some differences exist in the way resources are loaded for an application module:

 

一个模块不能有conf/application.conf文件

一个模块可以有conf/routes文件,但是这些路由不会被自动载入。

首先在主应用的路径中搜索所有文件,然后在所有载入的模块总搜索文件。

一个模块可以在module/lib中包含java字节码包(jar包)

模块中的所有东西都是可选的。

* A module does not have a **conf/application.conf** file.

* A module can have a **conf/routes** file, but these routes will not be  loaded automatically.

* All files are first searched for in the main application path, then in all loaded modules.

* A module can contain plain Java code packaged as a JAR file in the module/lib directory.

* Everything in a module is optional.

 

你可以使用play new-module命令创建一个模块。

You can create a module with the **play new-module** command.

 

怎样从一个应用中载入一个模块?

h2. <a>How to load a module from an application</a>

 

默认的模块的安装路径在$PLAY_HOME/modules文件夹中。这个路径下的模块会自动的对使用这个框架的应用可用。

The default modules installation path is in the **$PLAY_HOME/modules** directory. This way all modules are automatically available to all applications run with the framework.

 

如果你需要从一个应用中载入一个额外的模块,只需要在住应用的application.conf文件中声明额外的模块,如下:

If you want to load external modules from an application, just declare external modules in the application.conf file in the main application.

 

 

bc. # Additional modules

# ~~~~~

# A module is another Play application. Add a line for each module you want

# to add to your application. Module paths are either absolute or relative to

# the application root.

#

module.crud=${play.path}/modules/crud

 

你还可以创建一个独立的项目包含你的应用中所需的所有模块,你只需要把所有的模块复制到你的应用中相同的位置即可。

You can also create a standalone project that contains all modules needed by your application. You just need to copy all modules into the same directory as your application. 

 

例如你有一个大的项目,包含一个CMS组件,一个论坛组件,一个号码簿组件,而且使用了GWT模块,你可以建立一个项目使用下面的这个布局。

Let’s say you have a large application with a CMS component, a forum component, a directory component and using the GWT module. You can create a project using this layout:

 

bc. /my-project

    /cms

    /forum

    /directory

    /gwt

    /main

 

在这里main是你的主项目所在的文件夹(使用play new 命令创建的),gwt是一个从模块库中安装的模块,cms,forum,director是使用(play new-module命令创建的)。

Here **main** is the directory of your main application (created using the **play new** command), **gwt** is a module installed from the modules repository, and **cms**, **forum** and **directory** are modules created using the **play new-module** command.

 

现在我们在主项目的配置文件中添加这些导入的模块。

Now from the main application configuration file (my-project/main/conf/application.conf), you can load these modules using:

 

bc. # Additional modules

# ~~~~~

mdoule.gwt=../gwt

module.cms=../cms

module.forum=../forum

module.directory=../directory

 

当你运行主项目时(使用 play run my-project/main),它会把所有这些模块加载到内存之内存中作为一个大的项目。

When you run the main application (using **play run my-project/main**) it will load all these modules in memory as a larger application.

 

如果模块的路径是相对的,那么它们相对的是主应用的根目录。

p(note). If module paths are relative, they are resolved from the main application root.

 

从模块中载入默认的路由。

h2. <a>Load default routes from modules</a>

 

一个模块可以提供一个默认的路由文件,你可以把它导入到主应用的路由文件中,使用一个特殊的路由声明。

A module can provide a default routes file. You can load it in the main application routes file, using a special route declaration:

 

bc. # Import the default CRUD routes

GET     /admin     module:crud

 

你甚至可以从所有可得到的模块中导入所有的路由。

You can even load routes from all available modules:

 

bc. GET     /     module:*

 

使用模块库

h2. <a>Using the module repository</a>

 

模块仓库认定了所有社区贡献的模块,一个模块可以有很多版本,你需要检查模块的文档去知道你需要的是哪个版本。

The "module repository":http://www.playframework.org/modules identifies all modules contributed by the community. A module can have several versions. You have to check the module’s documentation for which version you need to use for your framework version.

 

你还可以查看模块库中所有的模块,使用play list-modules命令。

You can also browse the module repository using the **play list-modules** command. 

 

bc. gbo-mac:~ guillaume$ play11 list-modules

~        _            _ 

~  _ __ | | __ _ _  _| |

~ | '_ \| |/ _' | || |_|

~ |  __/|_|\____|\__ (_)

~ |_|            |__/   

~

~ play! 1.1-unstable-r761, http://www.playframework.org

~

~ You can also browse this list online at http://www.playframework.org/modules

~

~ [bespin]

~   Bespin online editor

~   http://www.playframework.org/modules/bespin

~   Versions: 1.0, 1.0.1

~

~ [cobertura]

~   Cobertura

~   http://www.playframework.org/modules/cobertura

~   Versions: 1.0

...

 

你可以是使用命令play install {module}-{version}安装模块,例如,为框架安装Scala支持,使用命令:play install scala-head。

You can install a module using the **play install {module}-{version}** command. For example, to install the Scala support to the framework, use:

 

bc. play install scala-head

 

按惯例,使用head版本号的版本是模块的不稳定版本。你也可以忽略版本号,直接安装默认的模块的版本。例如play install scala。

By convention the **head** version is the unstable version of the module. You can also install the default version of a module by omitting the version information. For example:

 

bc. play install scala

 

按这种方式安装的模块被下载到了你的框架的安装目录下的/modules文件夹中。你可以使用--path选项改变安装位置。

Modules installed this way are downloaded to the **/modules** directory of your framework installation. You can change the installation path using the **--path** option:

 

bc. play install gwt --path=my-project

 

为模块仓库贡献新的模块

h2. <a>Contributing a new module to the module repository</a>

 

首先你需要一个OpenbID。它帮助我们确认你是你的模块的作者。然后在Google Group中发给我们一个模块登记请求。

First you need to have an OpenID. It will help us to authenticate you as author of your modules. Then send us a module registration request on the Google Group.

 

请告诉我们:

 更多的关于你的模块的信息。

 你的模块的名称,他必须匹配[a-zA-Z]正则表达式

 模块的简短描述

 你的项目主页

 你的OpenID

 你的模块必须被托管到某个地方,以便使代码可得到并且可以提交bugs,如果你没有主意,那么github,Google Code和Launchpad都是不错的选择。

Please tell us:

 

* More about your module. What is it?

* Your module name. It must match the [a-zA-Z]+ regular expression.

* A short description of the module.

* Your project home page.

* Your OpenID.

* Your module must be hosted somewhere with the source code available and a way to report bugs. If you don’t have any idea, github, Google Code and Launchpad are good choices. 

 

需要发行你的模块,简单的使用play build-module就可以了,然后连接模块库中上传生成的包。

To release your module, simply use the play build-module command. Then connect to the module repository and upload the generated package.

 

你当然还可以使用官方的Google  Group去寻求帮助,或者分享关于你的工作的信息。

You can of course use the offical Google Group to provide help and share information about your work.

【202503】Wan:开放且先进的大规模视频生成模型【1.3B、14B】【支持对无限长度视频进行稳定的Inference】【Wan中的主要计算开销来自注意力机制】 wan: Open and Advanced Large-Scale Video Generative ModelsWan:开放且先进的大规模视频生成模型Wan Team, Alibaba Group Wan 团队,Alibaba GroupThis report presents Wan, a comprehensive and open suite of video foundation models designed to push the boundaries of video generation 阅读详情

相关推荐

使用Play Framework构建Java Web应用

在Play Framework中,路由文件定义了URL与控制器之间的映射关系。我们将在路由文件中定义我们的应用程序的路由。打开位于的路由文件。将以下内容添加到路由文件中:上述路由规则表示当用户访问应用程序的根URL时,将调用名为index的控制器中的index方法。

CyberLancer的博客 370

Play Framework(1)介绍:主要概念

  没有痛苦的 Java 框架 Play 是一个纯 Java 的框架,它让你保持使用你喜欢的开发工具和类库。如果你已经是一个使用 Java 平台的开发者, 那么你不需要切换到另一种语言,其他 IDE 或者其他类库, 而仅仅是切换到一个效率更高的 Java 环境! 修改 bug 后自动重新加载 Java 平台因为较低的开发效率,已经是声名狼藉了,主要的原因就是重复和繁琐的“编译-打包-部...

不积跬步,无以至千里、 728

Play Framework完整实现一个Java移动应用

路由文件定义了请求的URL路径和相应的控制器方法。打开文件,并添加以下路由规则:在上面的代码中,我们将路径映射到MobileApp控制器的index()方法,/login路径映射到MobileApp控制器的login()方法,/logout路径映射到MobileApp控制器的logout()方法。

DevAstro的博客 255

Play! Framework 系列(一):初探 play 框架

Play! 是一种高效率的 Java 和 Scala Web 应用程序框架,它能够用来开发「响应式」 Web 应用,同时它也集成了现代 Web 应用程序开发所需的组件和 API。本文将介绍一下 Play! 的基本性质以及利用该框架开发 Web 程序的优势。响应式 Web 开发框架Play! 抛弃了传统的 Java Web 框架的模式,而是选择拥抱「响应式」(Reactive)应用的理念,从头开始设...

学亮编程手记 1万+

Play框架中文文档.pdf

Play框架中文文档.pdf

VSCode+PlatformIO新建工程卡成狗?3步提速大法实测有效(附镜像源配置)

针对VSCode+PlatformIO新建工程时因依赖下载缓慢导致的加载慢问题,本文提供了三步核心提速方案。通过配置Python环境变量、修改PlatformIO插件设置以使用国内镜像源,并优化pip配置文件,实测可大幅缩短工程创建时间,有效解决创建工程卡顿的痛点。

delta的博客 713

中英文对照 介绍Play Framework 框架 安全模块

安全模块 h1. Secure module   这个简单的secure模块帮助你为你的应用建立一个简单的认证和认证管理系统。它提供了一个简单的controllers.Secure控制器,它定义了一系列的拦截器,你可以很容易的 使用@with注解将它们添加到你的控制器里。 The simple **Secure** module help you to set up basic auth

maguanghui_2012的专栏 555

Android13配置selinux让system应用可读sys,proc,SN号

Android13预置的system应用,需要读/sys, /proc目录,读(SN)serial number号, 需要修改selinux配置,否则会报avc错.其修改方法会比Android11复杂一些.。

zmlovelx(帅得不敢出门 程序员群31843264) 2654

翻译:自动驾驶经典 —— FlashOcc 中英文对照

快速且内存高效的3D-Occupancy占用预测.

zaibeijixing的专栏 463

RK3568 解决MIPI屏幕开机只显示uboot logo的问题

之前写过一篇文章介绍了RK3568驱动MIPI屏幕的方法,这次产品迭代,硬件改版,选型的新的屏幕了。所以再次开启调试屏幕的过程。本以为会和上次一样会轻车熟路,事情总是事与愿违,同样的路,遇到新的坑。

fhqlongteng的博客 5426

Pointnet++改进91:2025最新改进模块-RepMBConv模块

本文提出了一种改进PointNet++网络的方法,通过在特征提取模块中引入RepMBConv结构来提升模型性能。主要内容包括:1)理论部分介绍了RepMBConv的设计原理,包含自监督学习框架、动态上下文建模等创新点;2)详细给出了三步修改步骤:创建包含RepMBConv的Python模块、在pointnet2_utils.py中添加注意力机制、修改pointnet2_sem_seg.py主网络结构;3)代码实现展示了如何将RepMBConv集成到PointNetSetAbstraction模块中,形成Po

AIcurator的博客 275

App Framework实战案例:从零构建一个带登录、多语言与数据同步的完整应用

App Framework 是一个基于 HTML、CSS 和 JavaScript 的免费开源框架,让你用一套代码同时构建 iOS、Android 与 Web 跨平台应用。本文将以真实项目为实战案例,从零搭建一个同时具备用户登录、多语言切换与实时数据同步能力的完整应用,并带你走通从项目初始化、功能开发到构建发布的全部流程。即使你是刚入门的前端新手,也能按步骤快速上手,做出属于自己的第一个完整应用。

gitblog_00633的博客 881

【以太网硬件十二】以太网端口自协商过程解密之二

简述以太网端口自协商的过程

highman110的博客 2489

CipherChat的8个命令行参数详解:从模型选择到语言切换一文搞懂

CipherChat 是一个大语言模型安全对齐泛化能力评测框架(ICLR 2024):它把用户的问题先转换成凯撒密码这类人类不易直接读懂的密码形式再发给模型,检测模型的安全对齐在"非自然语言"面前是否依然生效。它的全部实验配置——模型、密码、风险领域、语言等——都由 CipherChat 的 8 个命令行参数完成。本文把这 8 个参数逐一讲透,新手 3 分钟即可跑通论文中的任意实验配置。 ##

gitblog_00627的博客 639

【异常】Error loading ASGI app. Could not import module ‘main‘

出现或。

奶爸的编程之路,也就一周冷个三天 1855

YOLO26涨点改进 | Conv篇/小目标改进 | AAAI 2025 FBRT-YOLO 两个轻量级FCM和MKP模块, 助力无人机航拍任务VisDrone、UAVDT和AI-TOD高效涨点

本文提出FBRT-YOLO26模型,通过引入两个轻量级模块FCM和MKP优化航拍图像检测性能。FCM模块通过特征互补映射解决小目标信息丢失问题,MKP模块利用多尺度卷积核增强目标感知能力。在VisDrone等数据集上的实验表明,该方法在精度和速度上均优于现有实时检测器。文章详细介绍了模块结构、核心代码实现及YAML配置文件修改方法,为航拍图像中的小目标检测提供了高效解决方案。该模型实现了检测精度与效率的良好平衡,具有实际应用价值。

Ai缝合怪、助力小伙伴高效发论文 369

Android权限适配终极指南:XXPermissions框架的完整解决方案

在Android开发领域,权限管理一直是最具挑战性的任务之一。随着Android系统版本的快速迭代,权限机制不断变化,从Android 6.0的运行时权限到Android 10的分区存储,再到Android 11的定位权限细分,每一次系统更新都带来了新的适配需求。XXPermissions作为一款专业的Android权限管理库,提供了简单高效的权限适配解决方案,帮助开发者轻松应对各种权限挑战。

gitblog_00920的博客 372

QT+Halcon实现螺纹检测

工业上要检测螺丝的内外直径、内外牙距、内外角度,现在比较好用的图像处理库,开源的opencv,收费的有halcon。为了实现螺纹检测,和对比螺纹检测拿个库比较好。分别用opencv和halcon实现了螺纹检测,通过对比发现用halcon实现的效果比较。现在用博客把实现过程记录下来: 1、需要检测的螺纹数据如下: 2、为了实现检测螺丝以上数据,螺纹内径、螺纹外径、螺纹外牙距、螺纹...

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 7051

Stand-In与LoRA完美结合:打造个性化风格视频的完整攻略

Stand-In是一款轻量级、即插即用的身份保留视频生成框架,而LoRA(Low-Rank Adaptation)则是一种高效的模型微调技术。将两者结合,能够在保持主体身份特征的同时,快速实现视频风格的个性化定制,为创作者带来无限可能。 ## 🌟 为什么选择Stand-In与LoRA结合 Stand-In以其独特的优势在视频生成领域脱颖而出:仅需训练基础模型1%的额外参数,就能在人脸相似度和

gitblog_00699的博客 1146

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

如何用CipherChat做LLM安全红队测试:覆盖11个危害领域的完整实战指南

CipherChat 是一个开源的 LLM 安全红队测试框架(ICLR 2024 论文代码),用来系统评估大模型安全对齐的泛化能力。它的思路很巧妙:模型的安全对齐大多基于自然语言训练,那如果我们让它用**人类读不懂的"密语"**(凯撒密码、ASCII、摩尔斯电码等)来对话呢?输入一旦"加密",安全护栏很容易被绕过,再用规则式解密程序把模型回复还原成明文——就能测出模型在伪装输入下的真实安全水位。本

gitblog_00480的博客 249

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

TrainerForge-3D:在 Linux 上优雅地玩转「修改器 + 立体 3D」——写给 Linux 玩家的一封信

TrainerForge-3D 是一款专为 Linux 玩家设计的工具,整合了游戏修改器(Trainer)和 UU3D 立体 3D 注入器的启动与管理功能。它通过一键操作解决 Windows 修改器在 Proton 环境下的兼容性问题,并支持自动部署 UU3D 3D 效果,适配多种显示设备。工具支持 Steam、Proton、Wine 环境的自动检测,提供中英文界面、多主题切换,并以 .deb、.rpm 和 AppImage 格式分发。

缘友一世的博客 731

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

终极指南:如何用Stand-In快速生成身份一致的高质量视频(附完整代码示例)

Stand-In是CVPR2026收录的轻量级视频生成框架,专注于**身份一致的视频生成**任务。通过仅训练基础模型1%的额外参数,它能在保持视频自然度的同时,精准保留人物或物体的核心特征,完美适用于人物驱动视频生成、姿态控制视频创作、视频风格化等多种场景。 ## 🎯 为什么选择Stand-In?三大核心优势解析 ### 1. 极致轻量化,训练成本骤降99% 传统视频生成模型往往需要全参数训

gitblog_00664的博客 326

Flutter面试冲刺:30天从原理到实战,打造高含金量教程App

在跨平台开发领域,掌握核心框架原理与工程化实践是开发者进阶的关键。Flutter作为现代UI工具包,其响应式编程模型和高效的渲染引擎,为构建高性能、跨平台应用提供了强大支持。理解其核心三棵树(Widget、Element、RenderObject)的协同机制,是深入性能优化和复杂状态管理的基础。在实际工程中,合理运用状态管理方案(如Riverpod、Provider)和分层架构,能显著提升应用的可维护性和团队协作效率。本文聚焦Flutter面试高频考点,通过一个深度整合原理剖析、性能优化与原生交互的教程Ap

weixin_30315435的博客 494

Unity集成讯飞语音SDK实战:从ASR、TTS到完整语音交互闭环

语音交互技术是现代人机交互的重要分支,其核心原理是通过自动语音识别(ASR)将人类语音转化为机器可读的文本,再通过语音合成(TTS)将文本信息转化为自然流畅的语音输出。这项技术的价值在于打破了传统图形用户界面的限制,为虚拟现实、智能助手、无障碍应用等场景提供了更自然、高效的交互方式。在游戏开发与跨平台应用构建中,Unity引擎因其强大的渲染能力和跨平台特性,成为集成此类原生语音能力的理想平台。通过集成如讯飞语音SDK这样的成熟解决方案,开发者可以快速为应用赋予“听”与“说”的能力,实现从语音指令识别到智能语

aikb6223的博客 317

Unity游戏实时汉化技术:基于运行时文本拦截与翻译的完整实现方案

游戏本地化是连接全球玩家与开发者的关键技术,其核心在于将游戏内容适配为目标语言市场。传统静态本地化方案需修改游戏资源文件,流程繁琐且难以应对动态内容。运行时文本拦截技术通过钩子(Hook)机制,在游戏渲染流程中动态捕获并替换文本,实现了非侵入式的实时翻译。这一技术方案结合现代翻译API与高效缓存策略,为游戏提供了灵活、低成本的全球化支持,尤其适用于验证多语言市场潜力或为已发布游戏提供社区翻译模组。本文以Unity引擎为例,深入探讨了如何利用Harmony库实现UI.Text与TextMeshPro组件的实时

weixin_30279315的博客 377

龙芯解码:现代物理七讲·中文思维重构

本文《通心译:现代物理学七讲》是一份创新性的物理学科普文档,通过中英双语对照和独特的"通心译"原则,用中国传统文化思维重新诠释现代物理学核心概念。文档包含七个关键章节:规范对称性(杨振宁理论)、对称性破缺、量子场论、量子纠缠、测不准原理、熵与时间箭头、相对论,每章均采用"现象描述-科学解释-文化关联"的三段式结构,并配有"龙魂中文版"的文化解读。文档采用CC BY-NC-SA 4.0协议开放共享,强调知识传播的"非镜像共鸣"原则,旨在打破西方术语体系对物理学的垄断,建立基于中文思维的科学认知框架。全文不使用

UID9622的博客 341
上一篇: accp6.0 s2《JSP/Servlet/Ajax技术》学习笔记
下一篇: Play Framework Cookbook (play框架食谱...)3
amtea
博客等级 码龄16年 66粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值