Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

ExtJs как maven связанность

Anna | 5.06.2014 | нет комментариев

Есть у меня несколько планов на Java использующих в виде web-заказчика ExtJs приложения. Библиотека прямо скажем не крошечная. Полный архив больше 60M мегабайт весит, и приложениям находящимся в энергичной разработке доводится все это тащить и скачивать из CVS. А если к последнему добавить неторопливый интернет, то все становится вовсе печально. В приложение еще и десятка классов нет, а вес теснее за полсотни.

Что

Возникла идея оформить эту библиотеку в виде подключаемого модуля. Позже определенной доли RTFM`а было решено сделать это через мавен.
Есть у него такая вещь, как war-layout. Разрешает «склеивать» несколько приложений в одно, причем дозволено Отчетливо указать что включать, а что нет.

Как

 

  1. Создание overlay-плана

    Здесь все легко.

    1. Создаем пустое web-приложение.
    2. В папку
      src/main/webapp/lib/extJs/
      

      (Пути касательно корня плана. Могут зависеть от вашей конфигурации и вашего мечты быть ССЗБ)
      распаковываем архив с ExtJs, скаченный с сайта сенчи.
      Внимание! На момент написания поста архив содержал папку ext-НОМЕР_ВЕРСИИ_ExtJs. Данная папка нам не необходима. Распаковывать нужно именно её содержимое. Это дозволит нам для всякий версии extJs иметь идентичные пути. Руководить же версией мы будем в ином месте.

    3. В pom.xml в настройках плана не забываем прописать
      <version>НОМЕР_ВЕРСИИ_ExtJs-RELEASE</version>
      

      и

      <packaging>war</packaging>
      

      Сейчас нам довольно исполнить

      mvn clean install
      

      для загрузки в локальный мавен репозиторий, либо как у нас — настроить Jenkins на мониторинг CSV-репозитория и механическую загрузку новых версий в nexus.

  2. Подключение к иному плану

    В pom.xml нужно указать связанность от выше сделанного плана

            <!--Overlays-->
    		<dependency>
    			<groupId>org.me</groupId>
    			<artifactId>extjs-overlay</artifactId>
    			<type>war</type>
    			<version>4.2-RELEASE</version>
    			<scope>runtime</scope>
    		</dependency>
    

    и настроить плагин

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-war-plugin</artifactId>
    	<version>2.3</version>
    	<configuration>
    		<overlays>
    			<overlay>
    				<groupId>org.me</groupId>
    				<artifactId>extjs-overlay</artifactId>
    			</overlay>
    		</overlays>
    	</configuration>
    </plugin>
    

    Там же дозволено указать какие файлы не включать в сборку.

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-war-plugin</artifactId>
    	<version>2.3</version>
    	<configuration>
    		<overlays>
    			<overlay>
    				<groupId>org.me</groupId>
    				<artifactId>extjs-overlay</artifactId>
    				 <excludes>
    					<exclude>lib/extjs/*</exclude>
    				</excludes>
    			</overlay>
    		</overlays>
    	</configuration>
    </plugin>
    

 

Результат

Мы получили вероятность обновлять версию ExtJs простым изменением версии зависимости в pom.xml. На иной чаше весов не слишком стремительная обработка мавеном оверлеев, но это решается путем выкидывания каждого не надобного. Больше того если мы решим перегрузить какие-то базовые функции ExtJs нам не нужно будет копировать код во все планы.

Документация maven war plugin

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB