首页 > 解决方案 > 如何重命名现有的 Hybris 扩展

问题描述

我正在研究 Hybris,我使用带有默认设置的 hybris 命令(ant extgen)生成了一个新扩展。在扩展生成期间,我没有更改默认值,例如让项目名称为“培训”。我开始开发一些代码只是为了尝试它,但现在我写了很多代码,而不是生成新的扩展,我试图将“培训”重命名为更适合我的项目的新名称。

我的问题是 - 是否有任何捷径可以将“培训”重命名为新名称。通过重命名,我并不是指标准的 intellij 或 eclipse 模块重命名,而是更新所有引用扩展名“培训”的扩展特定属性。有没有 hybris ant 命令呢?

标签: hybris

解决方案


这是我能想到的方法。
您可以将您的扩展声明为模板extgen,然后基于它生成一个具有新名称和结构的新扩展。

让我将training您想要转换为其他名称的当前扩展名作为您的当前扩展名。以下是您需要执行的步骤。

  1. 确保您的扩展(培训)在localextensions.xml中
  2. 更新 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"/>
    
  3. 在训练扩展/文件夹中创建一个 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

  4. 运行ant extgen并从给定的选择选项中选择您的扩展(培训),并在提示时以您想要的方式提供名称和包。

  5. 现在用 localextensions.xml 中新创建的扩展替换培训扩展

  6. 在需要的地方进行测试和修补!:-)


推荐阅读