...
Действия
- Создается локальный репозиторий
- В созданной папке создается новый корневой проект maven
...
Версия удаляется, добавляется родительский проект - cmj нужной версии
...
Блок кода language xml <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>
В modules будут указываться кастомные модули и модули, в которые собирается приложение, например:
...
Блок кода language xml <modules> <module>srv-pvo-agents</module>
...
<module>ssrv-pvo-war</module>
...
<module>ssrv-pvo-ear</module>
...
</modules>
- Добавляется кастомный модуль, в котором будет нужный заказчику функционал. Таких модулей может быть сколько угодно, но их всех нужно указать в верхнем проекте в modules и в зависимостях в модуле с ssrv-war (описан ниже). В IntelliJ Idea это в File → New → Module
...
- pom уже нормальный, можно добавлять туда зависимости, в том числе от cmj-библиотек
Аналогичным образом добавляется модуль с ssrv-war, например, в формате ssrv-orgname-war. В нем указывается
Блок кода
...
<packaging>war</packaging>
В зависимостях
...
Блок кода language xml <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
- Добавляется модуль ear. У него в pom указывается имя приложения <applicationName>. Используется как минимум Менеджером Агентов.
- Выполняется сборка самого верхнего проекта.
- ear, который нужно деплоить на сервер, лежит в репозитории в папке с именем модуля ssrv-ear (ssrv-orgname-ear - для папки из примера выше)
- Точка входа - ssrv-orgname-war (ssrv-pvo-war для примера выше).
Результат
Проект в результате будет иметь структуру вида
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
...