Menggunakan maven-deploy-plugin
Dan topik lain yang sangat menarik adalah penyebaran otomatis dari paket rakitan. Katakanlah kita membangun perpustakaan kita sendiri menggunakan Maven. Bagaimana kita mendorongnya secara otomatis ke repositori Maven lokal, perusahaan, atau pusat?
Maven memiliki plugin maven-deploy-plugin khusus untuk ini . Contoh:
<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>
Dengan pengaturan ini, Anda dapat mendorong pustaka yang dibangun ke repositori Maven sebagai paket yang valid. Kami tidak akan menganalisis proses ini secara mendetail, tetapi pertimbangkan secara singkat apa yang terjadi di sini:
Tag file menentukan file yang akan didorong ke repositori Maven sebagai perpustakaan baru.
Tag url adalah jalur ke repositori Maven (local/corporate/…).
Tag repositoryId menentukan pengidentifikasi repositori tempat penyebaran akan dilakukan.
Tag groupId , artifactId , version menentukan identifikasi paket standar di repositori Maven. Dengan ketiga parameter inilah perpustakaan dapat diidentifikasi secara unik.
Tag pengemasan digunakan untuk memastikan bahwa hasilnya dikirim sebagai satu file zip. Jika Anda tidak menentukannya, maka akan ada satu file jar, meskipun Anda memiliki beberapa file jar.
Tag pomFile bersifat opsional dan memungkinkan Anda mengirim pom.xml lain ke repositori yang tidak berisi data tersembunyi atau overhead.
Menyebarkan aplikasi web ke Tomcat menggunakan Maven
Server web paling populer untuk aplikasi web Java adalah Apache Tomcat . Dan tentu saja, dengan bantuan Maven, Anda dapat menyebarkan file perang langsung ke server Tomcat lokal atau bahkan jarak jauh.
Kami akan mempelajari cara menginstal dan mengkonfigurasi Tomcat nanti, tetapi sekarang kami hanya akan menyentuh topik penerapan otomatis aplikasi web kami.
Langkah pertama. Kami perlu memberi Maven akses ke server Tomcat. Untuk melakukan ini, buka file conf/Tomcat-users.xml di direktori tempat Apache Tomcat dibongkar dan tambahkan peran manager-gui dan 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>
Langkah kedua. Izinkan akses Maven ke Tomcat. Untuk melakukannya, buka file $MAVEN_HOME/conf/settings.xml dan tambahkan server:
<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
<servers>
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
</settings>
Langkah ketiga. Kami menambahkan plugin khusus untuk penerapan otomatis aplikasi kami ke Apache Tomcat. Plugin ini disebut Tomcat7-maven-plugin . Omong-omong, itu dibuat bukan oleh pengembang Maven, tetapi oleh pengembang Tomcat, seperti yang bisa Anda tebak dari namanya.
<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>
Di bagian konfigurasi, tentukan:
- url adalah alamat tempat Tomcat berjalan dan jalur ke manajer/teks
- server - server id dari file settings.xml
- path - alamat tempat aplikasi yang diterapkan akan tersedia
Perintah manajemen penerapan:
mvn Tomcat7:menyebarkan | Terapkan aplikasi ke Tomcat |
---|---|
mvn Tomcat7: undeploy | Hapus aplikasi dari Tomcat |
mvn Tomcat7: redeploy | Deploy ulang aplikasi |
Terapkan dengan Plugin Kargo
Plugin lain yang berguna dan serbaguna untuk menyebarkan aplikasi web adalah Cargo Plugin . Dia tahu cara bekerja dengan berbagai jenis server web. Berikut ini cara menerapkannya di 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>
Untuk menginstal aplikasi web di Tomcat lokal Anda, Anda hanya perlu menjalankan perintah:
mvn install
mvn cargo:deploy
Jika kami ingin menerapkan ke server web jarak jauh, kami harus mengatur hak akses ke server ini. Untuk melakukan ini, Anda hanya perlu mendaftarkannya di 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>
Terapkan dengan IntelliJ IDEA
Intellij IDEA melakukan semua pekerjaan itu sendiri, yang Anda butuhkan hanyalah Tomcat yang terinstal .
Langkah pertama. Buat konfigurasi Tomcat lokal:
Langkah kedua. Kemudian pilih Tomcat lokal:
Langkah ketiga. Konfigurasi Tomcat:
Langkah empat. Tambahkan path ke folder Tomcat.
Langkah lima. Kami menambahkan proyek kami sebagai artefak ke Tomcat.
Untuk melakukannya, buka tab Penerapan dan klik tombol + di sebelah kanan .
Itu saja.
Omong-omong, jika Anda perlu menerapkan ke server jarak jauh, cukup pilih Remote Tomcat di langkah kedua.
GO TO FULL VERSION