CodeGym/Java Course/Module 3/Een project implementeren met Maven

Een project implementeren met Maven

Beschikbaar

Maven-deploy-plug-in gebruiken

En een ander zeer interessant onderwerp is de automatische inzet van het geassembleerde pakket. Laten we zeggen dat we onze eigen bibliotheek hebben gebouwd met Maven. Hoe pushen we het automatisch naar een lokale, zakelijke of centrale Maven-repository?

Maven heeft hiervoor een speciale maven-deploy-plugin plugin . Voorbeeld:

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

Met deze instellingen kunt u de gebouwde bibliotheek als een geldig pakket naar de Maven-repository pushen. We zullen dit proces niet in detail analyseren, maar kort bekijken wat hier gebeurt:

De bestandstag specificeert een bestand dat als een nieuwe bibliotheek naar de Maven-repository zal worden gepusht .

De url- tag is het pad naar de Maven-repository (local/corporate/...).

De tag repositoryId specificeert de identifier van de repository waarnaar de implementatie zal worden uitgevoerd.

De groupId , artifactId , version tags definiëren de standaard pakketidentificatie in de Maven-repository. Aan de hand van deze drie parameters kan een bibliotheek op unieke wijze worden geïdentificeerd.

De verpakkingstag wordt gebruikt om ervoor te zorgen dat het resultaat als één zipbestand wordt verzonden . Als u het niet opgeeft, is er één jar-bestand, zelfs als u meerdere jar-bestanden had.

De pomFile- tag is optioneel en stelt u in staat een andere pom.xml naar de repository te sturen die geen verborgen of overheadgegevens bevat.

Een webtoepassing implementeren in Tomcat met behulp van Maven

De meest populaire webserver voor Java-webtoepassingen is Apache Tomcat . En natuurlijk kun je met behulp van Maven oorlogsbestanden rechtstreeks op een lokale of zelfs externe Tomcat-server implementeren.

We zullen later leren hoe we Tomcat moeten installeren en configureren, maar nu zullen we alleen ingaan op het onderwerp van automatische implementatie van onze webapplicatie.

Stap een. We moeten Maven toegang geven tot de Tomcat-server. Open hiervoor het bestand conf/tomcat-users.xml in de map waarin Apache Tomcat is uitgepakt en voeg de rollen manager-gui en manager-script toe :

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

Stap twee. Geef Maven toegang tot Tomcat. Open hiervoor het bestand $MAVEN_HOME/conf/settings.xml en voeg de server toe:

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

Stap drie. We voegen een speciale plug-in toe voor geautomatiseerde implementatie van onze applicatie aan Apache Tomcat. De plug-in heet tomcat7-maven-plugin . Het is trouwens niet gemaakt door de Maven-ontwikkelaars, maar door de Tomcat-ontwikkelaars, zoals je kunt raden aan de naam.

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

Geef in het configuratiegedeelte het volgende op:

  • url is het adres waar Tomcat draait en het pad naar manager/tekst
  • server - server-id uit het bestand settings.xml
  • pad - het adres waar de geïmplementeerde toepassing beschikbaar zal zijn

Commando's voor implementatiebeheer:

mvn tomcat7: implementeren Implementeer de toepassing in Tomcat
mvn tomcat7: ongedaan maken Applicatie verwijderen uit Tomcat
mvn tomcat7: opnieuw implementeren Implementeer de applicatie opnieuw

Implementeer met Cargo-plug-in

Een andere handige en veelzijdige plug-in voor het implementeren van webapplicaties is de Cargo Plugin . Hij weet hoe hij met verschillende soorten webservers moet werken. Hier ziet u hoe u ermee kunt implementeren in 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>

Om de webtoepassing op uw lokale Tomcat te installeren, hoeft u alleen maar de volgende opdrachten uit te voeren:

mvn install
mvn cargo:deploy

Als we willen inzetten op een externe webserver, moeten we toegangsrechten voor deze server instellen. Om dit te doen, hoeft u ze alleen maar te registreren in 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>

Implementeer met IntelliJ IDEA

Intellij IDEA doet al het werk zelf, alles wat je nodig hebt is een geïnstalleerde Tomcat .

Stap een. Maak een lokale Tomcat-configuratie:

Stap twee. Selecteer vervolgens de lokale kater:

Stap drie. Tomcat configureren:

Stap vier. Voeg het pad toe aan de Tomcat-map.

Stap vijf. We voegen ons project als artefact toe aan Tomcat.

Ga hiervoor naar het tabblad Deployment en klik rechts op de + knop .

Dat is alles.

Trouwens, als je moet implementeren op een externe server, selecteer dan Remote Tomcat in de tweede stap.

Opmerkingen
  • Populair
  • Nieuw
  • Oud
Je moet ingelogd zijn om opmerkingen te kunnen maken
Deze pagina heeft nog geen opmerkingen