Използване на maven-deploy-plugin
И друга много интересна тема е автоматичното разгръщане на сглобения пакет. Да кажем, че сме изградor собствена библиотека с помощта на Maven. Как автоматично да го изпратим в локално, корпоративно or централно хранorще на Maven?
Maven има специален плъгин maven-deploy- plugin за това . Пример:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
<configuration>
<file>${project.build.directory}\${project.artifactId}-src.zip</file>
<url>${project.distributionManagement.repository.url}</url>
<repositoryId>${project.distributionManagement.repository.id}</repositoryId>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>zip</packaging>
<pomFile>pom.xml</pomFile>
</configuration>
</plugin>
С тези настройки можете да изпратите изградената библиотека в хранorщето на Maven като валиден пакет. Няма да анализираме подробно този процес, но накратко ще разгледаме Howво се случва тук:
Файловият таг указва файл, който ще бъде изпратен в хранorщето на Maven като нова библиотека.
Url тагът е пътят до хранorщето на Maven (локално/корпоративно/…).
Тагът repositoryId указва идентификатора на хранorщето, в което ще бъде напequalsо внедряването.
Етикетите groupId , artifactId , version дефинират стандартната идентификация на пакета в хранorщето на Maven. По тези три параметъра една библиотека може да бъде уникално идентифицирана.
Опаковъчният етикет се използва, за да се гарантира, че резултатът се изпраща като единичен zip файл. Ако не го посочите, тогава ще има един jar файл, дори ако сте имали няколко jar file.
Етикетът pomFile не е задължителен и ви позволява да изпратите друг pom.xml към хранorщето, което не съдържа скрити or директни данни.
Внедряване на уеб приложение в Tomcat с помощта на Maven
Най-популярният уеб сървър за Java уеб applications е Apache Tomcat . И разбира се, с помощта на Maven можете да разположите военни файлове директно на локален or дори отдалечен Tomcat сървър.
Ще научим How да инсталираме и конфигурираме Tomcat по-късно, но сега ще се докоснем само до темата за автоматичното внедряване на нашето уеб приложение.
Първа стъпка. Трябва да дадем на Maven достъп до сървъра Tomcat. За да направите това, отворете file conf/tomcat-users.xml в директорията, където е разопакован Apache Tomcat, и добавете ролите manager-gui и manager-script :
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script" />
</tomcat-users>
Стъпка втора. Разрешете на Maven достъп до Tomcat. За да направите това, отворете file $MAVEN_HOME/conf/settings.xml и добавете сървъра:
<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
<servers>
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
</settings>
Стъпка трета. Добавяме специален плъгин за автоматизирано внедряване на нашето приложение към Apache Tomcat. Плъгинът се нарича tomcat7-maven-plugin . Между другото, той е създаден не от разработчиците на Maven, а от разработчиците на Tomcat, Howто можете да познаете от името.
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<path>/simpleProject</path>
</configuration>
</plugin>
</plugins>
</build>
В раздела за конфигурация посочете:
- url е addressът, на който работи Tomcat, и пътят до мениджър/текст
- сървър - идентификатор на сървъра от file settings.xml
- път - addressът, на който ще бъде достъпно инсталираното приложение
Команди за управление на внедряването:
mvn tomcat7: внедряване | Разположете приложението в Tomcat |
---|---|
mvn tomcat7: undeploy | Премахнете приложението от Tomcat |
mvn tomcat7: пренасочване | Разположете отново приложението |
Разположете с Cargo Plugin
Друга полезна и гъвкава добавка за внедряване на уеб applications е добавката Cargo . Умее да работи с различни видове уеб сървъри. Ето How да го внедрите в Apache Tomcat:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.9.10</version>
<configuration>
<container>
<containerId>tomcat8x</containerId>
<type>installed</type>
<home>Insert absolute path to tomcat 7 installation</home>
</container>
<configuration>
<type>existing</type>
<home>Insert absolute path to tomcat 7 installation</home>
</configuration>
</configuration>
</plugin>
</plugins>
</build>
За да инсталирате уеб приложението на вашия локален Tomcat, трябва само да изпълните командите:
mvn install
mvn cargo:deploy
Ако искаме да разположим на отдалечен уеб сървър, тогава ще трябва да настроим права за достъп до този сървър. За да направите това, просто трябва да ги регистрирате в pom.xml :
<configuration>
<container>
<containerId>tomcat8x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>admin</cargo.remote.username>
<cargo.remote.password>admin</cargo.remote.password>
<cargo.tomcat.manager.url>http://localhost:8080/manager/text</cargo.tomcat.manager.url>
</properties>
</configuration>
</configuration>
Разположете с IntelliJ IDEA
Intellij IDEA върши цялата работа сама, всичко, от което се нуждаете, е инсталиран Tomcat .
Първа стъпка. Създайте локална конфигурация на Tomcat:
Стъпка втора. След това изберете локалния Tomcat:
Стъпка трета. Конфигуриране на Tomcat:
Стъпка четвърта. Добавете пътя към папката Tomcat.
Стъпка пета. Добавяме нашия проект като артефакт към Tomcat.
За да направите това, отидете в раздела Разполагане и щракнете върху бутона + вдясно .
Това е всичко.
Между другото, ако трябва да разположите на отдалечен сървър, просто изберете Remote Tomcat във втората стъпка.
GO TO FULL VERSION