5.1 Senarai fasa projek

Akhirnya, kami sampai ke perhimpunan projek. Dan kemudian anda akan terkejut sedikit. Nah, atau kuat, ternyata. Maven telah menyemak semula pendekatannya untuk membina projek. Dan sekarang anda akan yakin dengannya.

Keseluruhan pemasangan projek dibahagikan kepada fasa, penerangan yang akan saya berikan dalam jadual di bawah:

pesanan fasa
1 mengesahkan menyemak ketepatan meta-maklumat tentang projek
2 menyusun menyusun sumber
3 ujian menjalankan ujian kelas dari langkah sebelumnya
4 pakej membungkus kelas yang disusun ke dalam artifak baharu: balang, perang, zip, ...
5 mengesahkan menyemak ketepatan artifak dan memenuhi keperluan kualiti
6 pasang meletakkan artifak dalam repositori tempatan
7 mengerahkan memuat naik artifak ke pelayan pengeluaran atau repositori jauh

Pada masa yang sama, langkah-langkahnya jelas berurutan . Jika anda memberitahu Maven untuk menjalankan arahan pakej, ia mula-mula menjalankan fasa pengesahan, penyusunan, ujian dan hanya kemudian pakej

Pada dasarnya, tiada perkara baharu di sini, kecuali terdapat fasa berasingan untuk kawalan kualiti: mengesahkan, menguji, mengesahkan. Dan sebanyak dua fasa untuk menggunakan pemasangan - pasang dan gunakan.

Untuk memulakan fasa tertentu, sudah cukup untuk menulis perintah fasa maven . Sebagai contoh, untuk membina, anda perlu menjalankan perintah pakej maven . Dan lain-lain.

Intellij IDEA hebat dalam bekerja dengan fasa ini dan ia mempunyai menu khas di sebelah kanan untuk tujuan ini:

fasa maven

Di sini, sebagai tambahan kepada fasa yang terkenal, IDEA memaparkan 2 lagi arahan: bersih dan tapak . clean digunakan untuk mengosongkan folder sasaran sepenuhnya, dan tapak boleh membuat dokumentasi projek.

5.2 Membina projek

Jika anda ingin menyusun projek, maka anda perlu menjalankan fasa penyusunan. Ini boleh dilakukan menggunakan baris arahan: mvn compile atau melalui antara muka IDEA dengan mengklik pada item compile .

Selepas itu, Maven akan mula membina projek dan anda akan melihat log proses binaan yang serupa dengan ini:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.742 s
[INFO] Finished at: 2016-09-19T22:41:26+04:00
[INFO] Final Memory: 7M/18M
[INFO] ------------------------------------------------------------------------

Jika berlaku kesilapan, log akan kelihatan seperti ini:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project demo: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible sliutions, please read the flilowing articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Akan ada banyak maklumat berguna dalam log, lama kelamaan anda akan belajar memahami dan menghargainya.

5.3 Kitaran kerja

Semua arahan maven dibahagikan kepada tiga kumpulan - kitaran hayat. Ia dipanggil kitaran hayat kerana ia menentukan susunan fasa yang berjalan semasa binaan atau kitaran hayat tertentu kerana bukan semua aktiviti Maven adalah binaan.

Terdapat tiga kitaran hidup:

  • bersih;
  • lalai;
  • tapak.

Dan setiap daripada mereka mempunyai urutan fasa sendiri. Clean mempunyai yang terpendek:

  1. pra bersih;
  2. bersih;
  3. pos bersih.

Fasa pra-pembersihan dan pasca-pembersihan tambahan tersembunyi telah ditambah supaya senario pembersihan boleh dibuat lebih fleksibel.

Kemudian datang kitaran hayat tapak , yang, seperti yang anda sedia maklum, direka untuk menjana dokumentasi projek secara automatik. Ia terdiri daripada empat fasa:

  1. pra-tapak
  2. tapak;
  3. tapak pasca;
  4. penempatan tapak.

Kitaran hayat standard boleh dipertingkatkan dengan kefungsian menggunakan pemalam Maven . Kami akan membincangkan perkara ini kemudian, kerana ini adalah topik yang sangat menarik yang patut diberi kuliah berasingan.

Dan skrip lalai mempunyai senarai fasa terpanjang:

  1. mengesahkan;
  2. menjana-sumber;
  3. sumber proses;
  4. menjana-sumber;
  5. proses-sumber;
  6. menyusun;
  7. proses-ujian-sumber;
  8. proses-ujian-sumber;
  9. ujian menyusun;
  10. ujian;
  11. pakej;
  12. memasang;
  13. mengerahkan.

Terdapat semua fasa yang sama yang telah anda ketahui, tetapi beberapa lagi fasa pilihan telah ditambahkan.

Pertama, peringkat popular dalam projek besar ialah generate-sources : menjana kod Java berdasarkan XML, sebagai contoh. Dan sepasang proses-sumber , yang melakukan sesuatu dengan kod ini.

Kedua, penjanaan sumber ialah menjana-sumber dan kaedah sumber proses berpasangan . Anda akan sering melihat beberapa aktiviti yang terikat dengan fasa ini dalam projek besar.

Dan akhirnya, ujian. Ia mempunyai tiga fasa pilihan tambahan yang membantu menjalankan fasa ujian sefleksibel mungkin: sumber-ujian-proses, sumber-ujian-proses, penyusun-ujian.