Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Может возникнуть необходимость для заказчиков в отдельных агентах, модулях и т.п., которые не хочется добавлять в типовую версию. Для этого создается отдельный war, который содержит типовой сервер + библиотеки, созданные специально под нужды заказчика. Проект ведется в отдельном репозитории со своими сборками. В первую очередь необходимо создать каркас проекта.

...

Свойства страницы
Статус

Статус
colourGreen
titleГОТОВО

Комментарий
панель

На этой странице:

Оглавление


Действия


  1. Создается локальный репозиторий
  2. В созданной папке создается новый корневой проект maven

...

  1. Image Added
  2. Версия удаляется, добавляется родительский проект - cmj нужной версии

...

  1. Блок кода
    languagexml
    <parent>
    	<groupId>ru.intertrust.cm-sochi</groupId>

...

  1. 
    	<artifactId>ssrv-parent</artifactId>

...

  1. 
    	<version>6.2.1.3.106</version>

...

  1. 
    </parent>

...

  1. 
    <properties>
    	<cmj.version>${project.parent.version}</cmj.version>

...

  1. 
    </properties>
  2. В modules будут указываться кастомные модули и модули, в которые собирается приложение, например:

...

  1. Блок кода
    languagexml
    <modules>
    	<module>srv-pvo-agents</module>

...

  1. 
    	<module>ssrv-pvo-war</module>

...

  1. 
    	<module>ssrv-pvo-ear</module>

...

  1. 
    </modules>
  2. Добавляется кастомный модуль, в котором будет нужный заказчику функционал. Таких модулей может быть сколько угодно, но их всех нужно указать в верхнем проекте в modules и в зависимостях в модуле с ssrv-war (описан ниже). В IntelliJ Idea это в File New Module

...

  1. Image Added
  2. pom уже нормальный, можно добавлять туда зависимости, в том числе от cmj-библиотек
  3. Аналогичным образом добавляется модуль с ssrv-war, например, в формате ssrv-orgname-war. В нем указывается 

    Блок кода

...

  1. <packaging>war</packaging>

    В зависимостях

...

  1. Блок кода
    languagexml
    <dependency>
    	<groupId>ru.intertrust.cm-sochi</

...

  1. groupId>
    	<artifactId>ssrv-war</

...

  1. artifactId>
    	<type>war</type>
    	<version>${cmj.version}</

...

  1. version>
    </

...

  1. dependency>

    , а также зависимость от всех кастомных модулей

    Информация

    Нужно правильно настроить контекст, чтобы бины в кастомных модулях были доступны. Будут нужны, например, для Менеджера Агентов.

    В 7.0 достаточно в папке \src\main\resources\spring\cmj-extentions\ создать файл applicationContext-cmj-***.xml, в котором указываются пакеты с бинами, подключаемые спринговым приложением (context:component-scan)

    В 6.2 пришлось в war/pom указать вместо ssrv-war все зависимости,

...

  1. скопированные из ssrv-war типовой версии,

...

  1. скопировать классы AFSessionFilter, CmjWebApplicationInitializer, и добавить конфигурацию приложения resources/META-INF/spring/applicationContext-info.xml с указанными там подключаемыми пакетами component-scan

  2. Добавляется модуль ear. У него в pom указывается имя приложения <applicationName>. Используется как минимум Менеджером Агентов.
  3. Выполняется сборка самого верхнего проекта.
  4. ear, который нужно деплоить на сервер, лежит в репозитории в папке с именем модуля ssrv-ear (ssrv-orgname-ear - для папки из примера выше)
  5. Точка входа - ssrv-orgname-war (ssrv-pvo-war для примера выше).

Результат


Проект в результате будет иметь структуру вида

Image Removed

View file
nameparent-pom.xml
height150
View file
namecustom-pom.xml
height150
View file
namewar-pom.xml
height150

...

Image Added