如何覆盖自定义以外的hybris平台文件
How to override hybris platform files other than customize
所以,我可以在平台下的自定义文件夹下看到很多文件。
除了将其放在自定义文件夹中之外,还有其他方法可以覆盖一般的平台吗?
如果我们必须覆盖一些 OOTB 文件,有两种方法:
1)如果它在某个扩展中,我们可以创建自定义扩展并进行更改。
2) 将内容添加到 customize 文件夹中并进行 ant customize。
如果OOTB文件在平台中怎么办?还有别的办法吗?
我希望在不将其添加到自定义文件夹的情况下自定义平台。
使用 buildcallbacks 可以替换文件,甚至是平台 jar 中的文件。
你要覆盖的function/bean是通过Spring注入的吗?
如果没有, 并且您需要重写一些 jar,class 或 xml。您可以选择 ant customize
或 buildcallbacks.xml
如果是, 它与覆盖父扩展中的任何其他 bean 没有什么不同。唯一的问题是您不需要创建扩展依赖项,因为平台在全球范围内可用。
例如: 如果您希望覆盖 DefaultCatalogDao 中的某些函数以提供您自己的实现。你可以这样做...
- 创建您自己的扩展平台相关服务的实现
- 使用 defaultCatalogDao 的别名注入自定义 bean
<alias alias="catalogDao" name="customCatalogDao"/>
<bean id="customCatalogDao" class="......CustomCatalogDao" parent="defaultCatalogDao"/>
商务云
您也可以使用 Commerce Cloud V2 中的 customize 文件夹更改平台文件。您需要在自定义存储库中创建一个名称为 _CUSTOMIZE_
的文件夹,然后像在非云版本中一样,添加您的文件(具有与平台中相同的文件夹结构)。
创建上述文件夹后,CCV2 构建策略会自动选择并部署它,无需任何额外配置。
希望对您有所帮助!
您可以简单地复制粘贴您的文件或编写您自己的 shell 脚本来执行它并将文件复制到平台,但它与 ant customize 有何不同。您为什么要摆脱标准的 hybris 实践?这会给你带来额外的好处吗?我确信这只会在升级等过程中导致问题。它不是 spring bean 注入,您可以告诉您的平台使用您的实现而不是其他平台。浪费时间寻找不符合产品最佳实践的东西是没有意义的。
所以,我可以在平台下的自定义文件夹下看到很多文件。 除了将其放在自定义文件夹中之外,还有其他方法可以覆盖一般的平台吗?
如果我们必须覆盖一些 OOTB 文件,有两种方法: 1)如果它在某个扩展中,我们可以创建自定义扩展并进行更改。 2) 将内容添加到 customize 文件夹中并进行 ant customize。
如果OOTB文件在平台中怎么办?还有别的办法吗?
我希望在不将其添加到自定义文件夹的情况下自定义平台。
使用 buildcallbacks 可以替换文件,甚至是平台 jar 中的文件。
你要覆盖的function/bean是通过Spring注入的吗?
如果没有, 并且您需要重写一些 jar,class 或 xml。您可以选择 ant customize
或 buildcallbacks.xml
如果是, 它与覆盖父扩展中的任何其他 bean 没有什么不同。唯一的问题是您不需要创建扩展依赖项,因为平台在全球范围内可用。
例如: 如果您希望覆盖 DefaultCatalogDao 中的某些函数以提供您自己的实现。你可以这样做...
- 创建您自己的扩展平台相关服务的实现
- 使用 defaultCatalogDao 的别名注入自定义 bean
<alias alias="catalogDao" name="customCatalogDao"/>
<bean id="customCatalogDao" class="......CustomCatalogDao" parent="defaultCatalogDao"/>
商务云
您也可以使用 Commerce Cloud V2 中的 customize 文件夹更改平台文件。您需要在自定义存储库中创建一个名称为 _CUSTOMIZE_
的文件夹,然后像在非云版本中一样,添加您的文件(具有与平台中相同的文件夹结构)。
创建上述文件夹后,CCV2 构建策略会自动选择并部署它,无需任何额外配置。 希望对您有所帮助!
您可以简单地复制粘贴您的文件或编写您自己的 shell 脚本来执行它并将文件复制到平台,但它与 ant customize 有何不同。您为什么要摆脱标准的 hybris 实践?这会给你带来额外的好处吗?我确信这只会在升级等过程中导致问题。它不是 spring bean 注入,您可以告诉您的平台使用您的实现而不是其他平台。浪费时间寻找不符合产品最佳实践的东西是没有意义的。