Pemasangan langkah demi langkah Maven
-
Pertama, kita perlu memasang Maven. Muat turun dari pautan ini .
-
Seterusnya, nyahzip arkib yang dimuat turun dan tetapkan pembolehubah persekitaran M2_HOME ke lokasi arkib yang dinyahzip. Contohnya, C:\\Program Files\\maven\\
-
Untuk memastikan semuanya dipasang, laksanakan yang berikut pada baris arahan:
mvn -versi
-
Jika maklumat versi untuk Maven, Java, dll. dipaparkan, maka semuanya sedia untuk digunakan.
-
Sekarang buka IntelliJ IDEA dan buat projek baharu. Dalam tetingkap pertama, pilih Maven:
-
Klik "Seterusnya" dan isi tetingkap yang muncul:
-
Kemudian, seperti biasa, buat projek di mana sahaja anda mahu.
Selepas projek dibuat, perhatikan strukturnya:
- folder src/main/java mengandungi kelas Java
- folder src/main/resources mengandungi sumber yang digunakan oleh aplikasi (halaman HTML, imej, helaian gaya, dll.)
- folder src/test adalah untuk ujian
Menguruskan tanggungan dalam Maven
Anda mungkin terjumpa frasa "pengurus pergantungan". Maven tahu cara menguruskan tanggungan. Terima kasih kepada Maven, anda tidak perlu menghabiskan banyak masa mencari pustaka yang diperlukan di Internet, memuat turunnya dan kemudian menyambungkannya ke projek anda. Sebaliknya, anda hanya menambah perpustakaan yang diperlukan pada senarai kebergantungan dalam Maven.Kebergantungan ditentukan dalam nod kebergantungan fail pom.xml
Katakan anda memerlukan perpustakaan Apache Commons IO dalam projek anda untuk memudahkan kerja dengan fail. Untuk menambah perpustakaan, kami menulis lima baris dalam pom.xml:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Sekarang fail pom.xml anda sepatutnya kelihatan seperti ini:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
Selepas itu, benarkan IntelliJ IDEA mengimport kebergantungan (dialog akan muncul di sudut kanan bawah). Kini perpustakaan sedia untuk digunakan:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
Semua kebergantungan berikutnya juga mesti ditulis di dalam <dependencies>
teg. Anda mungkin tertanya-tanya bagaimana untuk mengetahui maklumat tentang perpustakaan yang perlu anda nyatakan di dalam <dependency>
teg. Itu mudah. Tiga parameter sentiasa perlu ditetapkan: "groupId", "artifactId" dan "version". Terdapat dua cara untuk menentukan parameter ini:
-
Di laman web perpustakaan. Jika kami memerlukan perpustakaan Apache Commons IO, kami pergi ke tapak web rasmi dan pilih tab "Maklumat Kebergantungan". Semua maklumat yang diperlukan ada di sini — anda boleh menyalinnya dan menambahkannya pada
<dependencies>
nod. -
Dalam repositori Maven . Masukkan "apache commons io" dalam bar carian dan anda akan melihat semua versi perpustakaan yang tersedia. Selepas memilih yang betul, hanya salin yang berikut:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
dan tambahkannya pada pom.xml anda.
Jenis repositori Maven
Adalah berfaedah bagi kami untuk menyebut repositori Maven sekali lagi, kerana kami sebenarnya mempunyai dua daripadanya: repositori jauh (pusat) dan repositori tempatan (pada komputer anda). Semua perpustakaan yang anda tambahkan pada projek anda disimpan dalam repositori tempatan. Apabila Maven menambah kebergantungan yang diperlukan pada projek, ia mula-mula menyemak sama ada perpustakaan sudah wujud dalam repositori tempatan. Ia mengakses repositori jauh hanya jika ia tidak menemui perpustakaan secara tempatan. Seperti yang anda lihat, anda boleh menggunakan Maven untuk menambah kebergantungan, tetapi ini bukan semua yang boleh dilakukan.Membina projek Java menggunakan Maven
Keupayaan ini mungkin kelihatan tidak berguna kepada pemula. Mengapa kita memerlukan ini jika kita mempunyai IDE? Biar saya jelaskan. Pertama, pelayan tempat anda perlu membina aplikasi anda mungkin tidak mempunyai persekitaran pembangunan mahupun antara muka grafik. Kedua, pada projek besar, Maven melakukan kerja yang lebih baik untuk membina projek itu. Jadi tanpa perpisahan lagi, kami akan mempertimbangkan proses membina aplikasi menggunakan Maven.Fasa-fasa
Proses membina aplikasi dikenali sebagai kitaran hayat projek Maven, dan ia terdiri daripada fasa. Anda boleh melihatnya dalam IDEA dengan mengklik Maven > contoh > Kitaran hayat di penjuru kanan sebelah atas: Seperti yang anda lihat, terdapat 9 fasa:- bersih — mengalih keluar semua fail yang disusun daripada direktori sasaran (tempat di mana artifak siap disimpan)
- sahkan — menyemak sama ada semua maklumat yang diperlukan untuk membina projek itu ada
- compile — menyusun fail kod sumber
- ujian - memulakan ujian
- pakej — pakej yang disusun fail (dalam arkib JAR, WAR, dsb.)
- sahkan — menyemak sama ada fail yang dibungkus sudah sedia
- install — letakkan pakej dalam repositori tempatan. Kini ia boleh digunakan oleh projek lain sebagai perpustakaan luaran
- tapak — mencipta dokumentasi projek
- deploy — menyalin arkib terbina ke repositori jauh
-
melalui baris arahan:
pakej mvn
-
menggunakan IntelliJ IDEA:
Sebelum fasa pakej bermula, fasa pengesahan, penyusunan, dan ujian dilakukan. Fasa bersih adalah pengecualian. Adalah idea yang baik untuk menjalankan fasa ini sebelum setiap binaan projek. Anda boleh menyenaraikan berbilang fasa, memisahkannya dengan ruang:
pakej bersih mvn.
Pemalam
Untuk menambah pemalam Maven pada projek, kami perlu menambahkan penerangannya pada fail pom.xml, menggunakan<build>
dan <plugins>
teg, sama seperti cara kami menambah kebergantungan. Sebagai contoh, katakan kami memerlukan pemalam untuk mengesahkan bahawa kami menggunakan versi terkini semua perpustakaan luaran kami. Selepas sedikit mencari di Internet, anda boleh menemui pemalam ini dan arahan tentang cara menggunakannya. Mari kita tetapkan groupId, artifactId dan versi. Kami akan menunjukkan matlamat yang mesti dipenuhi oleh pemalam dan pada fasa apa. Dalam kes kami, semakan pergantungan dalam pom.xml semasa ditetapkan untuk berlaku semasa fasa pengesahan. Sekarang fail pom.xml kami kelihatan seperti ini:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>uptodate-maven-plugin</artifactId>
<version>0.2.0</version>
<executions>
<execution>
<goals>
<goal>dependency</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
Kami boleh terus mengusahakan projek kami. Tetapi mari cuba menukar versi Apache Commons IO kepada 2.0 dan membina projek. Kami akan dapat
[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
Di sini kita mempunyai ralat binaan yang dihasilkan oleh pemalam. Mesej ralat menyatakan bahawa kami menggunakan versi 2.0 apabila versi 2.6 tersedia. Pada asasnya, Maven adalah alat yang sangat berguna. Mungkin ia akan kelihatan sukar untuk digunakan pada mulanya, tetapi berlatih! Buat projek anda menggunakan Maven, dan selepas beberapa ketika anda akan sangat gembira dengan hasil akhirnya. Artikel ini sengaja meninggalkan banyak butiran tentang Maven — kami menumpukan pada perkara yang paling penting. Tetapi tiada had untuk penambahbaikan: anda boleh membaca lebih lanjut tentang Maven di tapak web rasminya . Bahagian 5. Servlets dan Java Servlet API. Menulis aplikasi web ringkas Bahagian 6. Bekas Servlet Bahagian 7. Memperkenalkan corak MVC (Model-View-Controller)
GO TO FULL VERSION