Развертывание внешних файлов WAR в SAP Hybris
(Я опубликовал эту статью 15 марта 2019 года в Linkedin)
В этой короткой статье я объясню, как развернуть внешние файлы войны в Hybris (мы сделали это, когда интегрировали веб-чат в магазин Hybris).
Во-первых, позвольте мне объяснить концепцию файлов localextension.xml и extensioninfo.xml.
расширениеinfo.xml.
Расширения в Hybris похожи на проекты в Java. Каждое расширение имеет функциональные возможности, собственную модель данных, конфигурации Spring, свойства и т. д. Каждое расширение должно иметь файл с именем extensioninfo.xml, где мы можем найти всю информацию о расширении, такую как имя расширения, модуль расширения (ядро, веб или HMC). и зависимости от другого расширения.
Пример:
<extensioninfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="extensioninfo.xsd"> <extension abstractclassprefix="Generated" classprefix="<CUSTOM>Facades" name="<CUSTOM>facades"> <!-- you should add all required extensions to this list, except platform extensions which are automatically required --> <requires-extension name="acceleratorfacades" /> <requires-extension name="<CUSTOM>ore" /> <requires-extension name="<CUSTOM>crmintegration" /> <requires-extension name="<CUSTOM>erpintegration" /> <requires-extension name="sapordermgmtb2bfacades" /> <requires-extension name="commercefacades" /> <coremodule generated="true" manager="de.hybris.platform.jalo.extension.GenericManager" packageroot="com.<CUSTOM>.facades" /> </extension> </extensioninfo>
localextension.xml
Каждое активное расширение нашего проекта Hybris должно находиться в файле localextension.xml. Он содержит все расширения, которые наша конфигурация включает во время компиляции и выполнения.
Пример:
<hybrisconfig xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='../bin/platform/resources/schemas/extensions.xsd'> <extensions> <extension name='mcc' /> <extension name='commercesearchbackoffice' /> <extension name='b2bcommercebackoffice' /> <extension name='couponbackoffice' /> <extension name='droolsruleengineservices' /> <extension name='couponfacades' /> <extension name='promotionenginesamplesaddon' /> <extension name='accountsummaryaddon' /> <extension name='secureportaladdon' /> <extensions> </hybrisconfig>
Развертывание внешних файлов войны
Чтобы развернуть внешние файлы войны, нам нужно добавить элемент webapp в localextensions.xml.
Внешние веб-приложения извлекаются и копируются в каталог ‹HYBRIS_BIN_DIR›/bin/custom.
Элемент веб-приложения может иметь один (контекст) или два (контекстный корень, путь) атрибута.
Пример с корневым контекстом
contextroot — это корневой каталог для веб-приложения.
путь — это путь к файлу войны или каталогу загруженного веб-приложения.
<extensions> <extension .../> <webapp contextroot="webchat" path="${HYBRIS_CONFIG_DIR}/path/webchat.war"/> </extensions>
Пример с контекстом
context — это путь к context.xml, описывающему webapp
<extensions> <extension .../> <webapp context="/path/context.xml" /> </extensions> </extensions>
Пример context.xml:
<Context path="/webchat" docBase="/path/webchat.war" />
Поставьте лайк этому сообщению и подпишитесь на мой блог, если он будет вам полезен.