hybris - 如何重命名现有的 Hybris 扩展
问题描述
我正在研究 Hybris,我使用带有默认设置的 hybris 命令(ant extgen)生成了一个新扩展。在扩展生成期间,我没有更改默认值,例如让项目名称为“培训”。我开始开发一些代码只是为了尝试它,但现在我写了很多代码,而不是生成新的扩展,我试图将“培训”重命名为更适合我的项目的新名称。
我的问题是 - 是否有任何捷径可以将“培训”重命名为新名称。通过重命名,我并不是指标准的 intellij 或 eclipse 模块重命名,而是更新所有引用扩展名“培训”的扩展特定属性。有没有 hybris ant 命令呢?
解决方案
这是我能想到的方法。
您可以将您的扩展声明为模板extgen
,然后基于它生成一个具有新名称和结构的新扩展。
让我将training
您想要转换为其他名称的当前扩展名作为您的当前扩展名。以下是您需要执行的步骤。
- 确保您的扩展(培训)在localextensions.xml中
更新 extensioninfo.xml 以通过添加以下元标记将扩展标记为模板
<meta key="extgen-template-extension" value="true"/>
看起来像
<coremodule generated="true" manager="org.training.jalo.TrainingManager" packageroot="org.training"/> <meta key="extgen-template-extension" value="true"/> <webmodule jspcompile="false" webroot="/training"/>
在训练扩展/文件夹中创建一个 extgen.properties,具有以下属性
请注意,如果您当前的扩展名使用不同的名称,那么在这种情况下进行培训,您需要相应地更改以下值。
extgen.properties:
YEXTNAME_TOKEN=training
YMODULE_TOKEN=training
YMODULE_PACKAGE_ROOT=training
YMODULE_CLASS_PREFIX=training
YPACKAGE_TOKEN=org.training
YMANAGER_TOKEN=TrainingManager
YCLASSPREFIX_TOKEN=Training
YGENERATED_TOKEN=Generated运行ant extgen并从给定的选择选项中选择您的扩展(培训),并在提示时以您想要的方式提供名称和包。
现在用 localextensions.xml 中新创建的扩展替换培训扩展
在需要的地方进行测试和修补!:-)
推荐阅读
- regex - 正则表达式在视频标签中查找从和直到
- java - 咖啡因缓存,如何获得过期的价值?
- php - PHP iframe 不传递变量和 IP 不正确
- kubernetes - 无法从 kubernetes cron 作业连接 rabbitmq
- servicenow - 开发服务门户应用程序的架构建议
- angular - 将 css-element-queries 导入 Angular 6 应用程序
- node.js - 为什么“npm install”会修改 package-lock.json?那为什么要把它提交给git呢?
- android - 从片段调用 Intent 时出错(用户登录)
- angular - 如何从订阅中设置全局变量的值
- compiler-construction - 如果在使用 Hop-croft 算法最小化确定性有限自动机中接受所有状态怎么办?