如何覆盖除自定义以外的hybris平台文件

如何覆盖除自定义以外的hybris平台文件,hybris,Hybris,所以,我可以看到许多文件下的自定义文件夹下的平台。 一般来说,除了将其放入自定义文件夹之外,是否还有其他方法可以访问OVERRIDE平台 如果我们必须覆盖某些OOTB文件,有两种方法: 1) 如果它在某个扩展中,我们可以创建自定义扩展并进行更改。 2) 将内容添加到自定义文件夹并执行ant自定义 如果OOTB文件位于平台中,该怎么办?还有别的办法吗 我希望在不将其添加到自定义文件夹的情况下自定义平台。使用buildcallbacks,您甚至可以替换平台jar中的文件。您要覆盖的函数/bean是通

所以,我可以看到许多文件下的自定义文件夹下的平台。 一般来说,除了将其放入自定义文件夹之外,是否还有其他方法可以访问OVERRIDE平台

如果我们必须覆盖某些OOTB文件,有两种方法: 1) 如果它在某个扩展中,我们可以创建自定义扩展并进行更改。 2) 将内容添加到自定义文件夹并执行ant自定义

如果OOTB文件位于平台中,该怎么办?还有别的办法吗


我希望在不将其添加到自定义文件夹的情况下自定义平台。

使用buildcallbacks,您甚至可以替换平台jar中的文件。

您要覆盖的函数/bean是通过Spring注入的吗?

如果否,并且您需要覆盖一些jar、类或xml。您可以选择
antcustomize
buildcallbacks.xml

如果是,这与从父扩展重写任何其他bean没有什么不同。唯一的问题是,由于平台在全球范围内可用,所以您不需要创建扩展依赖项

例如:如果您希望覆盖DefaultCatalogDao中的某些函数以提供自己的实现。你可以像这样做

  • 创建自己的实现,扩展与平台相关的服务
  • 使用defaultCatalogDao的别名注入自定义bean
  • 
    
    用于商业云

    您也可以使用Commerce Cloud V2中的自定义文件夹更改平台文件。您需要在自定义存储库中创建一个名为
    \u CUSTOMIZE\u
    的文件夹,然后像在非云版本中一样添加文件(与平台中的文件夹结构完全相同)

    一旦您到达文件夹上方,CCV2构建策略将自动选择并部署它,而无需任何额外配置。
    希望有帮助

    您可以简单地复制粘贴您的文件或编写自己的shell脚本来执行它并将文件复制到平台,但它与ant customize有何不同。你为什么要放弃标准的hybris实践?这会给你带来额外的好处吗?我确信这只会在升级等过程中导致问题。它不是SpringBean注入,您可以告诉您的平台在其他平台上使用您的实现。浪费时间寻找不符合产品最佳实践的东西是没有意义的

    我有一个文件${hybris_platform}/bootstrap/resources/containerization/platformimage/dockerbasics/startup.sh.tmpl,我想更新它。我不能使用ant customize实现这一点,因为这在hybris云中不起作用。我应该把更新的文件放在哪里?我应该在哪个扩展名上更新它!?目前,我使用的是6.7,但很快就会转到hybris cloud,不确定是哪一个。您能就上述评论提供指导吗?有一种方法可以在Commerce Cloud v2上实现
    ant定制
    功能。请参阅更新的答案。如果我不必进行ant自定义,该怎么办?任何其他方式,即使它在CCV2中工作。感谢您告知定制的事情。如果看不到其他解决方案,它将在这方面起作用。有没有教程介绍如何在这些XML上编写的文档?第一次很难理解它。我需要理解标签及其含义。我不希望手动更改平台,因为其他开发人员不会提交和接收该平台。2.其次,如果ant customize在云中不起作用,我们必须找到另一种好方法,而不是手动更新OOTB平台。3.当您必须移动到云时,这是一个有效的查询。
    <alias alias="catalogDao" name="customCatalogDao"/>
    <bean id="customCatalogDao" class="......CustomCatalogDao" parent="defaultCatalogDao"/>