我正在研究Hybris,并且使用hybris命令(ant extgen)以默认设置生成了一个新扩展名。在扩展生成期间,我没有更改默认值,就像让项目名称为“ training”一样。我只是为了尝试而开始开发一些代码,但是现在我编写了很多代码,而不是生成新的扩展,而是尝试将“ training”重命名为更适合我的项目的新名称。 / p>
我的问题是-是否有任何快捷方式可将“培训”重命名为新名称。重命名不是指标准的intellij或eclipse模块重命名,而是要更新所有扩展的特定属性,这些属性指的是扩展名“ training”。有任何hybris ant命令吗?
答案 0 :(得分:0)
我不这么认为。仅创建一个新代码并将代码移到新扩展中也可能会更容易。
答案 1 :(得分:0)
否,这是不可能的。生成的扩展本身是从一个模板创建的,在该模板中,单词“ training”插入了很多地方(类名,包名,配置...)。
另一种方法是查看ext-template文件夹(6.7)。有所有模板。在模板中搜索任何令牌,并对生成的扩展名进行适当的更改。 根据扩展的数量,这还需要一些时间...,您首先需要了解extgen的工作原理。
答案 2 :(得分:0)
这是我能想到的方式。
您可以将扩展名声明为extgen
的模板,然后基于它以新的名称和结构生成新的扩展名。
让我以training
作为您要转换成其他名称的当前扩展名。以下是您需要执行的步骤。
通过添加以下元标记来更新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内新创建的扩展替换培训扩展
在需要的地方进行测试和修补! :-)