maven-deploy-plugin 사용
또 다른 매우 흥미로운 주제는 조립된 패키지의 자동 배포입니다. Maven을 사용하여 자체 라이브러리를 구축했다고 가정해 보겠습니다. 로컬, 회사 또는 중앙 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>
이러한 설정을 사용하면 빌드된 라이브러리를 유효한 패키지로 Maven 리포지토리에 푸시할 수 있습니다. 이 프로세스를 자세히 분석하지는 않지만 여기에서 무슨 일이 일어나고 있는지 간단히 살펴보겠습니다.
파일 태그는 Maven 리포지토리에 새 라이브러리로 푸시될 파일을 지정합니다.
url 태그는 Maven 저장소(local/corporate/…)의 경로입니다.
repositoryId 태그는 배포가 이루어질 저장소의 식별자를 지정합니다.
groupId , artifactId , version 태그는 Maven 리포지토리에서 표준 패키지 식별을 정의합니다. 이 세 가지 매개변수로 라이브러리를 고유하게 식별할 수 있습니다.
패키징 태그는 결과가 단일 zip 파일로 전송되도록 하는 데 사용됩니다. 지정하지 않으면 여러 개의 jar 파일이 있더라도 하나의 jar 파일이 있습니다.
pomFile 태그는 선택 사항이며 숨겨진 데이터나 오버헤드 데이터를 포함하지 않는 리포지토리에 다른 pom.xml을 보낼 수 있습니다.
Maven을 사용하여 Tomcat에 웹 애플리케이션 배포
Java 웹 애플리케이션에 가장 많이 사용되는 웹 서버는 Apache Tomcat 입니다 . 물론 Maven의 도움으로 war 파일을 로컬 또는 원격 Tomcat 서버에 직접 배포할 수 있습니다.
나중에 Tomcat을 설치하고 구성하는 방법을 배우게 되지만 지금은 웹 응용 프로그램의 자동 배포에 대한 주제만 다룰 것입니다.
1단계. Tomcat 서버에 Maven 액세스 권한을 부여해야 합니다. 이렇게 하려면 Apache Tomcat이 압축 해제된 디렉터리에서 conf/tomcat-users.xml 파일을 열고 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>
2단계. Maven이 Tomcat에 액세스하도록 허용합니다. 이렇게 하려면 $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>
3단계. 애플리케이션을 Apache Tomcat에 자동으로 배포하기 위한 특수 플러그인을 추가합니다. 플러그인 이름은 tomcat7-maven-plugin 입니다 . 그런데 이름에서 짐작할 수 있듯이 Maven 개발자가 만든 것이 아니라 Tomcat 개발자가 만든 것입니다.
<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 은 Tomcat이 실행 중인 주소와 manager/text 의 경로입니다.
- 서버 - settings.xml 파일 의 서버 ID
- 경로 - 배포된 애플리케이션을 사용할 수 있는 주소
배포 관리 명령:
mvn tomcat7:배포 | 애플리케이션을 Tomcat에 배포 |
---|---|
mvn tomcat7:배포 해제 | Tomcat에서 애플리케이션 제거 |
mvn tomcat7:재배포 | 애플리케이션 재배포 |
Cargo 플러그인으로 배포
웹 애플리케이션 배포를 위한 또 다른 유용하고 다재다능한 플러그인은 Cargo Plugin 입니다 . 그는 다양한 유형의 웹 서버로 작업하는 방법을 알고 있습니다. 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 만 있으면 됩니다 .
1단계. 로컬 Tomcat 구성을 만듭니다.

2단계. 그런 다음 로컬 Tomcat을 선택합니다.

3단계. 톰캣 구성:

4단계. Tomcat 폴더에 경로를 추가합니다.

5단계. 프로젝트를 Tomcat에 아티팩트로 추가합니다.
이렇게 하려면 배포 탭으로 이동하여 오른쪽의 + 버튼을 클릭합니다 .

그게 다야.
그런데 원격 서버에 배포해야 하는 경우 두 번째 단계에서 Remote Tomcat을 선택하기만 하면 됩니다.
GO TO FULL VERSION