如何重命名现有的 Hybris 扩展

How to rename an existing Hybris extension

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

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

我不这么认为。创建一个新的并将代码移动到新的扩展中也可能更容易。

不,这是不可能的。生成的扩展本身是从模板创建的,其中单词 "training" 被插入到许多地方(class 名称、包名称、配置...)。

另一种方法是查看 ext-template 文件夹 (6.7)。样板都有。在模板中搜索任何标记并在生成的扩展中进行适当的更改。 根据您的扩​​展数量,这也需要一些时间......您首先需要了解 extgen 的工作原理。

这是我能想到的方法
您可以将您的扩展声明为 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 内部训练 extension/folder

    请注意,如果您当前的扩展名为不同的名称,那么在这种情况下您需要相应地更改以下值。

    extgen.properties:

    YEXTNAME_TOKEN=培训<br> YMODULE_TOKEN=培训<br> YMODULE_PACKAGE_ROOT=培训<br> YMODULE_CLASS_PREFIX=培训<br> YPACKAGE_TOKEN=org.training<br> YMANAGER_TOKEN=培训经理<br> YCLASSPREFIX_TOKEN=培训<br> YGENERATED_TOKEN=已生成

  4. 运行 ant extgen 和 select 你的扩展(训练)来自给定的 selection 选项并给出当它提示时,按照你想要的方式命名和打包。

  5. 现在用 localextensions.xml

  6. 中新创建的扩展替换训练扩展
  7. 在需要的地方进行测试和修补! :-)