Может возникнуть необходимость для заказчиков в отдельных агентах, модулях и т.п., которые не хочется добавлять в типовую версию. Для этого создается отдельный war, который содержит типовой сервер + библиотеки, созданные специально под нужды заказчика. Проект ведется в отдельном репозитории со своими сборками. В первую очередь необходимо создать каркас проекта.
<parent>
<groupId>ru.intertrust.cm-sochi</groupId>
<artifactId>ssrv-parent</artifactId>
<version>6.2.1.3.106</version>
</parent>
<properties>
<cmj.version>${project.parent.version}</cmj.version>
</properties>
<packaging>war</packaging>
В зависимостях
<dependency>
<groupId>ru.intertrust.cm-sochi</groupId>
<artifactId>ssrv-war</artifactId>
<type>war</type>
<version>${cmj.version}</version>
</dependency>
, а также зависимость от всех кастомных модулей
Нужно правильно настроить контекст, чтобы бины в кастомных модулях были доступны. Будут нужны, например, для Менеджера Агентов. В 7.0 достаточно в папке \src\main\resources\spring\cmj-extentions\ создать файл applicationContext-cmj-***.xml, в котором указываются пакеты с бинами, подключаемые спринговым приложением (context:component-scan) В 6.2 пришлось в war/pom указать вместо ssrv-war все зависимости, скопипащенные из ssrv-war типовой версии, скопипастить классы AFSessionFilter, CmjWebApplicationInitializer, и добавить конфигурацию приложения resources/META-INF/spring/applicationContext-info.xml с указанными там подключаемыми пакетами component-scan |
Проект в результате будет иметь структуру вида