Bruker maven-deploy-plugin

Og et annet veldig interessant emne er den automatiske distribusjonen av den sammensatte pakken. La oss si at vi bygde vårt eget bibliotek med Maven. Hvordan skyver vi det automatisk til et lokalt, bedrifts- eller sentralt Maven-lager?

Maven har en spesiell maven-deploy-plugin- plugin for dette . Eksempel:

    <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>

Med disse innstillingene kan du skyve det innebygde biblioteket til Maven-depotet som en gyldig pakke. Vi vil ikke analysere denne prosessen i detalj, men kort vurdere hva som skjer her:

Filtaggen spesifiserer en fil som vil bli sendt til Maven-depotet som et nytt bibliotek.

URL- koden er banen til Maven-depotet (lokalt/bedrifts/...).

RepositoryId -taggen spesifiserer identifikatoren til depotet som distribusjonen skal utføres til.

groupId , artifactId , versjonstaggene definerer standard pakkeidentifikasjon i Maven-depotet . Det er ved disse tre parameterne at et bibliotek kan identifiseres unikt.

Emballasjen brukes for å sikre at resultatet sendes som en enkelt zip-fil. Hvis du ikke spesifiserer det, vil det være én jar-fil, selv om du hadde flere jar-filer.

pomFile- taggen er valgfri og lar deg sende en annen pom.xml til depotet som ikke inneholder skjulte eller overheaddata.

Distribuere en nettapplikasjon til Tomcat ved hjelp av Maven

Den mest populære webserveren for Java-webapplikasjoner er Apache Tomcat . Og selvfølgelig, ved hjelp av Maven, kan du distribuere krigsfiler direkte til en lokal eller til og med ekstern Tomcat-server.

Vi vil lære hvordan du installerer og konfigurerer Tomcat en gang senere, men nå vil vi bare berøre emnet automatisk distribusjon av nettapplikasjonen vår.

Steg en. Vi må gi Maven tilgang til Tomcat-serveren. For å gjøre dette, åpne conf/tomcat-users.xml -filen i katalogen der Apache Tomcat er pakket ut og legg til manager-gui og manager-script- rollene :

<?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>

Trinn to. Gi Maven tilgang til Tomcat. For å gjøre dette, åpne $MAVEN_HOME/conf/settings.xml- filen og legg til serveren:

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
  <servers>
	<server>
  	<id>TomcatServer</id>
  	<username>admin</username>
  	<password>admin</password>
	</server>
  </servers>
</settings>

Trinn tre. Vi legger til en spesiell plugin for automatisert distribusjon av applikasjonen vår til Apache Tomcat. Programtillegget heter tomcat7-maven-plugin . Forresten, den ble ikke laget av Maven-utviklerne, men av Tomcat-utviklerne, som du kan gjette ut fra navnet.

	<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>

I konfigurasjonsdelen, spesifiser:

  • url er adressen der Tomcat kjører og banen til manager/tekst
  • server - server-ID fra filen settings.xml
  • bane – adressen der den distribuerte applikasjonen vil være tilgjengelig

Kommandoer for distribusjonsadministrasjon:

mvn tomcat7:deploy Distribuer applikasjonen til Tomcat
mvn tomcat7:undeploy Fjern programmet fra Tomcat
mvn tomcat7: redeploy Distribuer applikasjonen på nytt

Distribuer med Cargo Plugin

En annen nyttig og allsidig plugin for å distribuere nettapplikasjoner er Cargo Plugin . Han vet hvordan han jobber med ulike typer webservere. Slik distribuerer du med den i 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>

For å installere nettapplikasjonen på din lokale Tomcat, trenger du bare å kjøre kommandoene:

mvn install
mvn cargo:deploy

Hvis vi ønsker å distribuere til en ekstern webserver, må vi sette opp tilgangsrettigheter til denne serveren. For å gjøre dette trenger du bare å registrere dem i 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>

Distribuer med IntelliJ IDEA

Intellij IDEA gjør alt arbeidet selv, alt du trenger er en installert Tomcat .

Steg en. Opprett en lokal Tomcat-konfigurasjon:

Trinn to. Velg deretter den lokale Tomcat:

Trinn tre. Konfigurere Tomcat:

Trinn fire. Legg til banen til Tomcat-mappen.

Trinn fem. Vi legger til prosjektet vårt som en artefakt til Tomcat.

For å gjøre dette, gå til kategorien Implementering og klikk på + -knappen til høyre .

Det er alt.

Forresten, hvis du trenger å distribuere til en ekstern server, velg bare Remote Tomcat i det andre trinnet.