maven-deploy-plugin'i kullanma

Ve çok ilginç bir başka konu da, birleştirilmiş paketin otomatik olarak konuşlandırılmasıdır. Diyelim ki Maven kullanarak kendi kütüphanemizi oluşturduk. Bunu otomatik olarak yerel, kurumsal veya merkezi bir Maven deposuna nasıl göndeririz?

Maven bunun için özel bir maven-deploy-plugin eklentisine sahiptir . Örnek:

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

Bu ayarlarla, yerleşik kitaplığı Maven deposuna geçerli bir paket olarak gönderebilirsiniz. Bu süreci ayrıntılı olarak analiz etmeyeceğiz, ancak burada neler olduğunu kısaca ele alacağız:

file etiketi, Maven deposuna yeni bir kitaplık olarak gönderilecek bir dosyayı belirtir.

url etiketi, Maven deposuna giden yoldur (yerel/kurumsal/…).

repositoryId etiketi, dağıtımın yapılacağı deponun tanımlayıcısını belirtir.

groupId , artifactId , version etiketleri, Maven deposundaki standart paket kimliğini tanımlar. Bu üç parametre ile bir kitaplık benzersiz bir şekilde tanımlanabilir.

Paketleme etiketi, sonucun tek bir zip dosyası olarak gönderilmesini sağlamak için kullanılır. Bunu belirtmezseniz, birkaç jar dosyanız olsa bile bir jar dosyası olacaktır.

pomFile etiketi isteğe bağlıdır ve depoya gizli veya ek veri içermeyen başka bir pom.xml göndermenize olanak tanır.

Maven kullanarak Tomcat'e bir web uygulaması dağıtma

Java web uygulamaları için en popüler web sunucusu Apache Tomcat'tir . Ve tabii ki Maven'in yardımıyla savaş dosyalarını doğrudan yerel hatta uzak bir Tomcat sunucusuna konuşlandırabilirsiniz.

Tomcat'i nasıl kuracağımızı ve yapılandıracağımızı bir süre sonra öğreneceğiz, ancak şimdi yalnızca web uygulamamızın otomatik dağıtımı konusuna değineceğiz.

Adım bir. Maven'e Tomcat sunucusuna erişim vermemiz gerekiyor. Bunu yapmak için, Apache Tomcat'in paketten çıkarıldığı dizinde conf/Tomcat-users.xml dosyasını açın ve manager-gui ve manager-script rollerini ekleyin :

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

İkinci adım. Maven'in Tomcat'e erişmesine izin ver. Bunu yapmak için $MAVEN_HOME/conf/settings.xml dosyasını açın ve sunucuyu ekleyin:

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

Adım üç. Uygulamamızın Apache Tomcat'e otomatik dağıtımı için özel bir eklenti ekliyoruz. Eklentinin adı Tomcat7-maven-plugin . Bu arada Maven geliştiricileri tarafından değil, adından da anlayabileceğiniz gibi Tomcat geliştiricileri tarafından oluşturulmuş.

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

Yapılandırma bölümünde şunları belirtin:

  • url , Tomcat'in çalıştığı adres ve yöneticiye /metne giden yoldur
  • sunucu - settings.xml dosyasından sunucu kimliği
  • yol - dağıtılan uygulamanın kullanılabilir olacağı adres

Dağıtım yönetimi komutları:

mvn tomcat7: konuşlandırma Uygulamayı Tomcat'e dağıtın
mvn tomcat7: konuşlandırmayı kaldır Uygulamayı Tomcat'ten kaldır
mvn tomcat7: yeniden konuşlandırma Uygulamayı yeniden dağıtın

Kargo Eklentisi ile Dağıtın

Web uygulamalarını dağıtmak için başka bir kullanışlı ve çok yönlü eklenti, Kargo Eklentisidir . Farklı türde web sunucularıyla nasıl çalışılacağını biliyor. Apache Tomcat'te onunla nasıl konuşlandırılacağı aşağıda açıklanmıştır:

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

Web uygulamasını yerel Tomcat'inize yüklemek için komutları çalıştırmanız yeterlidir:

mvn install
mvn cargo:deploy

Uzak bir web sunucusuna dağıtım yapmak istiyorsak, bu sunucuya erişim hakları ayarlamamız gerekecek. Bunu yapmak için onları pom.xml dosyasına kaydetmeniz yeterlidir :

<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 ile dağıtın

Intellij IDEA tüm işi kendisi yapar, tek ihtiyacınız olan kurulu bir Tomcat .

Adım bir. Yerel bir Tomcat yapılandırması oluşturun:

İkinci adım. Ardından yerel Tomcat'i seçin:

Adım üç. Tomcat'i yapılandırma:

Adım dört. Yolu Tomcat klasörüne ekleyin.

Beşinci adım. Projemizi Tomcat'e bir artefakt olarak ekliyoruz.

Bunu yapmak için Dağıtım sekmesine gidin ve sağdaki + düğmesine tıklayın .

Bu kadar.

Bu arada, uzak bir sunucuya dağıtım yapmanız gerekiyorsa, ikinci adımda Uzak Tomcat'i seçmeniz yeterlidir.