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

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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Может возникнуть необходимость для заказчиков в отдельных агентах, модулях и т.п., которые не хочется добавлять в типовую версию
Информация

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

В первую очередь необходимо создать каркас проекта.

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

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

Комментарий
Версия удаляется, добавляется родительский проект - cmj нужной версии
панель

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

Оглавление

titleРезультат

Image Added

панель

Структура проекта

Оглавление

Подсказка

{project name} - аббревиатура проекта в нижнем регистре
{PROJECT NAME} - аббревиатура проекта в верхнем регистре
{custom version} - версия кастомной сборки
{base version} - версия базовой сборки
{new module} - новый модуль

панель
titleФайлыПример проекта

parentproject-pom.xml
custom-pom.xml
war-pom.xml
ear-pom.xml

Действия

  • Создается локальный репозиторий
  • В созданной папке создается новый корневой проект maven
    Image Removed
  • СтруктураОписание

    {project name}-ssrv-agents

    модуль, в котором размещается код кастомных агентов

    src


    main



    javaразмещение классов см-агентов (Разработка СМ-агентов)



    resource





    META-INF





    version-jars.properties

    Блок кода
    {project name}-ssrv-agents={PROJECT NAME} CMJ REST Server




    spring.cmj-extentions





    applicationContext-cmj-{project name}.xml
    Блок кода
    languagexml
    titleУказывается пакеты с бинами, подключаемые спринговым приложением (context:component-scan)
    collapsetrue
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:p="http://www.springframework.org/schema/p"
    
    	xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.2.xsd">
    
    	<context:spring-configured />
    	<context:annotation-config />
        <context:component-scan base-package="ru.intertrust.cmj.{project name}.agents" />
    
    </beans>




    cmBusinessBeanFactory.xml

    файл копируется из ssrv-agents базового проекта


    pom.xml
    Блок кода
    languagexml
    <parent> <groupId>ru.intertrust.cm-sochi</groupId> <artifactId>ssrv
    titleНастраивается сборка модуля
    collapsetrue
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<parent>
    		<artifactId>{project name}-ssrv-parent</artifactId>
    		
    <version>6
    <groupId>ru.
    2.1.3.106<
    intertrust.cmj-{project name}</groupId>
    		<version>{custom version}</version>
    	</parent>
    
    	<properties>
    	
    <cmj.version>${project.parent.version}</cmj.version> </properties>
  • В modules будут указываться кастомные модули и модули, в которые собирается приложение, например:

    Блок кода
    languagexml
    <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
    Image Removed
  • pom уже нормальный, можно добавлять туда зависимости, в том числе от cmj-библиотек
  • Аналогичным образом добавляется модуль с ssrv-war, например, в формате ssrv-orgname-war. В нем указывается 

    Блок кода
    <packaging>war</packaging>

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

    Блок кода
    languagexml
    <dependency>
    	<cmj.version>{base version}</cmj.version>
    	</properties>
    
    	<artifactId>{project name}-ssrv-agents</artifactId>
    
    	<name>{project name}-ssrv-agents</name>
    
    	<dependencies>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-af</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>javax.jms</groupId>
    			<artifactId>javax.jms-api</artifactId>
    			<version>2.0.1</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>ssrv-cmj-adapter</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-admin-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    	</dependencies>   
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.codehaus.mojo</groupId>
    				<artifactId>aspectj-maven-plugin</artifactId>
    				<configuration>
    					<aspectLibraries>
    						<aspectLibrary>
    							<groupId>org.springframework</groupId>
    							<artifactId>spring-aspects</artifactId>
    						</aspectLibrary>
    					</aspectLibraries>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>
    </project>

    {project name}-ssrv-war

    модуль основного приложения

    src


    main



    resource





    cmj-configпапка копируется из ssrv-war базового проекта




    META-INF

    папка копируется из ssrv-war базового проекта




    cmj-version.properties
    файл копируется из ssrv-war базового проекта и изменяется
    Блок кода
    rest.implementation.title={project name}rest
    rest.implementation.version=${project.version}
    rest.secification.version=${project.version}



    webapp





    cmj-configпапка копируется из ssrv-war базового проекта




    WEB_INFпапка копируется из ssrv-war базового проекта

    pom.xml
    Блок кода
    languagexml
    titleНастраивается сборка модуля
    collapsetrue
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    
    	<parent>
    		<artifactId>{project name}-ssrv-parent</artifactId>
    		<groupId>ru.intertrust.cmj-{project name}</groupId>
    		<version>{custom version}</version>
    	</parent>
    
    	<properties>
    		<cmj.version>{base version}</cmj.version>
    	</properties>
    
      	<name>{project name}-ssrv-war</name> 
    	<artifactId>{project name}-ssrv-war</artifactId>
    
    	<packaging>war</packaging>
    	
    	<dependencies>
    		<dependency>
    			<groupId>ru.intertrust.cmj-{project name}</groupId>
    			<artifactId>zarneft-ssrv-agents</artifactId>
    			<version>${project.version}</version>
    		</dependency>
    
    		<!-- CM-Sochi Server -->
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>ssrv-cmj-adapter</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>model</artifactId>
    			<version>${cm-sochi.core.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>nbr-base</artifactId>
    			<version>${cm-sochi.core.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>ssrv-storage-sochi</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>ssrv-plugins</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>ssrv-sochi-fellow</artifactId>
    			<version>${cmj.version}</version>
    			<exclusions>
    				<exclusion>
    					<groupId>commons-io</groupId>
    					<artifactId>commons-io</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    
    		<!-- CM-Sochi- Admin GUI -->
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>ssrv-admin-gui</artifactId>
    			<version>${cmj.version}</version>
    			<exclusions>
    				<exclusion>
    					<groupId>commons-io</groupId>
    					<artifactId>commons-io</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    
    		<!-- Sochi Agents -->
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>ssrv-agents</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>ssrv
    -war</artifactId> <type>war</type>
    -web-fragments</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    
    		<!-- Sochi-Core -->
    		<dependency>
    			<groupId>ru.intertrust.cm-sochi</groupId>
    			<artifactId>bootstrap</artifactId>
    		</dependency>
    
    		<!-- CMJ-Server -->
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-af</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-apre-dao</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-cases</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-cases-rules</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-cases-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-config</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-disco</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-document</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-document-dao</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-document-storage-domino</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-document-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-dp</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-dp-dao</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-dp-operations</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-dp-ws</artifactId>
    			<version>${cmj.version}</version>
    			<exclusions>
    				<exclusion>
    					<groupId>commons-io</groupId>
    					<artifactId>commons-io</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-forms</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-idocs_storage-connectors-cmj</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-idocs_storage-storage-domino</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-idocs_storage-task</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.idocs</groupId>
    			<artifactId>srv-idocs-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-purchases-storage-domino</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-idocs-ws-cmj</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-purchases-meetings-storage-domino</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.idocs</groupId>
    			<artifactId>idocs-module</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-e2e-links</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-locker</artifactId>
    			<version>${cmj.version}</version>
    			<exclusions>
    				<exclusion>
    					<groupId>commons-lang</groupId>
    					<artifactId>commons-lang</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>xerces</groupId>
    					<artifactId>xercesImpl</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-locker-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-meetings</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-meetings-dao</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-meetings-storage-domino</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-meetings-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-meetings-online</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-orm</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-pkd</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-document-iss</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-document-iss-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-document-iss-dao</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-document-iss-storage-domino</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-quartz</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-rendition</artifactId>
    			<version>${cmj.version}</version>
    			<exclusions>
    				<exclusion>
    					<groupId>commons-io</groupId>
    					<artifactId>commons-io</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-report</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-reporter-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-wf-bpmn</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-wf-core</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-training-data-export</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-wf-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-ws-base</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-pkd-ws</artifactId>
    			<version>${cmj.version}</version>
    			<scope>compile</scope>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-monitoring</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-versionable</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-idocs_storage-migration-cmj</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-idocs-operator-cmj</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.openoffice</groupId>
    			<artifactId>juh</artifactId>
    			<version>3.2.1</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-tunable-object</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-tunable-object-ws</artifactId>
    			<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 для примера выше).
  • Результат

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

    Image Removed
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-admin</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-admin-storage</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-admin-ws</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-spd</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>ru.intertrust.cmj</groupId>
    			<artifactId>srv-archives</artifactId>
    			<version>${cmj.version}</version>
    		</dependency>
    
    		<!-- Java EE -->
    		<dependency>
    			<!-- Required so that we have a real Java EE 6 implementation for testing -->
    			<groupId>org.jboss.spec</groupId>
    			<artifactId>jboss-javaee-8.0</artifactId>
    			<type>pom</type>
    			<scope>provided</scope>
    		</dependency>
    
    		<!-- Spring -->
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-core</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-beans</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-orm</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-aspects</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-context</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-expression</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-aop</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-context-support</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-tx</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-web</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-webmvc</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-test</artifactId>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>com.healthmarketscience.rmiio</groupId>
    			<artifactId>rmiio</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.simpleframework</groupId>
    			<artifactId>simple-xml</artifactId>
    			<version>2.7</version>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-api</artifactId>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>jcl-over-slf4j</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.mockito</groupId>
    			<artifactId>mockito-core</artifactId>
    		</dependency>
    	</dependencies>
    	<build>
    		<resources>
    			<resource>
    				<directory>src/main/resources</directory>
    				<filtering>true</filtering>
    			</resource>
    		</resources>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-war-plugin</artifactId>
    				<configuration>
    					<attachClasses>true</attachClasses>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>
    </project>

    {new module}

    Новый модуль

    pom.xml

    Блок кода
    languagexml
    titleНастраивается сборка проекта
    collapsetrue
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	
    	<modelVersion>4.0.0</modelVersion>
    	<name>Parent POM for CM-{PROJECT NAME} Server</name>
    	<groupId>ru.intertrust.cmj-{project name}</groupId>
    	<artifactId>{project name}-ssrv-parent</artifactId>
    
    	<!-- Переопределяет св-во project.version и применяется к зависимостям CMJ, использующих ${project.version}  -->
    	<version>{custom version}</version>
    
    	<packaging>pom</packaging>
    
    	<description>Корневой POM для сборки "CM-{PROJECT NAME} Server"</description>
    
    	<parent>
    		<groupId>ru.intertrust.cm-sochi</groupId>
    		<artifactId>ssrv-parent</artifactId>
    		<version>{base version}</version>
    	</parent>
    
    	<properties>
    		<cmj.version>${project.parent.version}</cmj.version>
    	</properties>
    
    	<modules>
            <module>{new module}</module>
            <module>{project name}-ssrv-agents</module>
    		<module>{project name}-ssrv-war</module>
    	</modules>
    
    	<organization>
    		<name>InterTrust</name>
    		<url>http://www.intertrust.ru</url>
    	</organization>
    
    	<licenses>
    		<license>
    			<name>Proprietary software license</name>
    			<distribution>repo</distribution>
    			<comments>Copyright (c) 2013 InterTrust. All rights reserved.</comments>
    		</license>
    	</licenses>
    
    	<mailingLists>
    		<mailingList>
    			<name>Техническая поддержка</name>
    			<post>techsupport@intertrust.ru</post>
    		</mailingList>
    	</mailingLists>
    
    	<issueManagement>
    		<system>jira</system>
    		<url>http://jira.inttrust.ru/browse/cmsix</url>
    	</issueManagement>
    
    	<repositories>
    		<!-- InterTrust's repositories -->
    		<repository>
    			<id>intertrust.repo</id>
    			<name>InterTrust maven repository</name>
    			<url>http://sup.inttrust.ru:8081/nexus/content/groups/public</url>
    			<releases>
    				<enabled>true</enabled>
    			</releases>
    			<snapshots>
    				<enabled>true</enabled>
    			</snapshots>
    		</repository>
    	</repositories>
    
    	<pluginRepositories>
    		<pluginRepository>
    			<id>intertrust.releases</id>
    			<url>http://sup.inttrust.ru:8081/nexus/content/groups/public/</url>
    		</pluginRepository>
    	</pluginRepositories>
    
    	<distributionManagement>
    		<repository>
    			<id>intertrust.releases</id>
    			<url>http://sup.inttrust.ru:8081/nexus/content/repositories/releases</url>
    			<uniqueVersion>false</uniqueVersion>
    		</repository>
    		<snapshotRepository>
    			<id>intertrust.snapshots</id>
    			<url>http://sup.inttrust.ru:8081/nexus/content/repositories/snapshots</url>
    			<uniqueVersion>false</uniqueVersion>
    		</snapshotRepository>
    	</distributionManagement>
    
    	<scm>
    		<url>https://stash.inttrust.ru:8443/projects/CMJCUS/repos/{project name}-cmj/browse</url>
    		<connection>scm:git:ssh://git@stash.inttrust.ru:7999/cmjcus/{project name}-cmj.git</connection>
    		<developerConnection>scm:git:ssh://git@stash.inttrust.ru:7999/cmjcus/{project name}-cmj.git</developerConnection>
    		<tag>HEAD</tag>
    	</scm>
    
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-jar-plugin</artifactId>
    				<version>2.3.2</version>
    				<configuration>
    					<archive>
    						<manifest>
    							<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
    						</manifest>
    						<manifestEntries>
    							<Implementation-Title>${project.name}</Implementation-Title>
    							<Implementation-Version>${project.version}</Implementation-Version>
    							<Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
    							<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
    						</manifestEntries>
    					</archive>
    				</configuration>
    			</plugin>
    
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-release-plugin</artifactId>
    				<version>2.5.1</version>
    				<configuration>
    					<releaseProfiles>release</releaseProfiles>
    					<preparationGoals>clean install</preparationGoals>
    					<goals>deploy</goals>
    					<autoVersionSubmodules>true</autoVersionSubmodules>
    					<pushChanges>false</pushChanges>
    					<autoVersionSubmodules>true</autoVersionSubmodules>
    					<localCheckout>true</localCheckout>
    					<tagNameFormat>{project name}.cmj.@{project.version}</tagNameFormat>
    				</configuration>
    			</plugin>
    
    		</plugins>
    
    	</build>
    </project>

    README.md

    Описание проекта