如何重命名现有的Hybris扩展名

时间:2019-06-19 14:24:34

标签: hybris

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

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

否,这是不可能的。生成的扩展本身是从一个模板创建的,在该模板中,单词“ training”插入了很多地方(类名,包名,配置...)。

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

答案 2 :(得分:0)

这是我能想到的方式。
您可以将扩展名声明为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. 在需要的地方进行测试和修补! :-)