1.1 Program gedhe

Kita wis sinau carane nulis program cilik, saiki kita bakal sinau carane nulis gedhe. Kaya sing sampeyan ngerteni, program sing luwih gedhe lan luwih rumit, luwih akeh dhuwit sing dibayar kanggo pangembangane :) Lan ayo miwiti kanthi latar mburi cilik ...

Nalika program saya gedhe, pangembang ngadhepi rong tantangan anyar:

  • Akeh wong sing nggarap program sing padha.
  • Ora ana wong sing ngerti kabeh kode program kasebut.

Kerep banget, kahanan wiwit muncul nalika programmer ndandani bug ing sak panggonan program lan ing wektu sing padha nyuwil soko liyane. Dokumentasi rilis malah duwe lelucon iki:

Daftar owah-owahan:

  • Ndandani bug lawas :)
  • Tambah anyar :(

Banjur padha teka karo rong pendekatan kanggo ngrampungake masalah iki: teknis lan manajerial.

Pendekatan teknis yaiku program dipérang dadi bagéan: perpustakaan lan modul . Saben modul kasebut minangka bata cilik sing banjur dibangun proyek gedhe. Pustaka minangka komponen universal sing bisa digunakake ing macem-macem program.

Pendekatan manajerial malah luwih menarik - padha mbatesi jumlah wong sing bisa nggarap siji proyek / perpustakaan. Secara empiris, dheweke malah nggawe aturan: tim kasebut kudu gedhe banget supaya "bisa diwenehi rong pizza . " Iki biasane tegese yen ana luwih saka 8 wong sing nggarap proyek , mula kudu dipérang dadi rong proyek.

Wis dadi populer ing komunitas pangembang Jawa kanggo nulis perpustakaan kanggo kabeh kesempatan lan kasedhiya kanggo umum. Mangkono, programer Jawa ora bisa nulis kode sing padha maneh (sing asring mentah lan ngemot bug), nanging nggunakake solusi sing wis siap lan wis bukti .

Insentif tambahan yaiku kasunyatan manawa basa Jawa entuk popularitas nalika nulis solusi sisih server (bisa digunakake ing backend). Kaping pisanan, piranti lunak server nduweni syarat sing luwih dhuwur kanggo linuwih, lan nggunakake perpustakaan sing wis diuji wektu mesthi luwih disenengi kanggo nulis kode sampeyan dhewe.

Kapindho, server meh ora ana watesan babagan ukuran kode. Pangembang aplikasi seluler nyoba ngetung dadi 10 megabyte, aplikasi desktop - dadi 100 megabyte. Lan pangembang backend Jawa bisa cram sawetara puluhan gigabyte perpustakaan menyang proyek lan ora ana sing bakal ngomong apa-apa marang dheweke :)

Miturut cara, iki ora guyon. Sampeyan bisa kanthi gampang nemokake proyek backend kanthi pirang-pirang modul lan sawetara atus perpustakaan. Nanging wis dadi angel banget kanggo njlèntrèhaké (lan ngganti!) Nggawe skrip kanggo proyek kasebut.

Banjur Maven muncul.

1.2 Pambuka kanggo Maven

Maven minangka "kerangka" khusus kanggo manajemen mbangun proyek. Iku standarisasi 3 perkara:
  • Deskripsi proyek;
  • skrip mbangun proyek;
  • Ketergantungan antarane perpustakaan.

Pendhudhuk Maven yaiku Ant , lan peneruse yaiku Gradle . Nanging Maven sing ngembangake lan nyempurnakake telung standar sing kadhaptar, lan uga ngatur interaksi. Dheweke sing ndadekke karya masyarakat Jawa menyang tataran anyar. Ayo dideleng kanthi luwih rinci.

Maven

Secara teknis, Maven minangka program / layanan khusus, tujuan utama yaiku ngatur proses proyek bangunan. Iku bisa mung diundhuh minangka arsip lan unpacked menyang sembarang direktori. Sampeyan ora perlu installer khusus kanggo iki.

Dheweke ora duwe antarmuka grafis - kabeh prentah diwenehake nganggo konsol . Kanggo nggawe luwih nyaman kanggo nggarap, disaranake ndhaptar variabel lingkungan khusus ing OS sampeyan.

Maven uga duwe gudang khusus (direktori / folder) ing ngendi nyimpen perpustakaan sing digunakake nalika mbangun proyek. Sampeyan kudu milih sawetara folder ing disk lan nemtokake minangka gudang.

Liyane sing menarik yaiku anane repositori Maven global kanggo kabeh perpustakaan, nanging kita bakal ngomong babagan iki mengko.

1.3 Ngundhuh lan nginstal Maven

Maven duwe situs resmi maven.apache.org . Ana akeh dokumentasi babagan proyek kasebut, dadi yen sampeyan duwe kesulitan utawa pitakonan tambahan - mlebu, aja isin.

Uga ing kaca download ( https://maven.apache.org/download.cgi ) sampeyan bisa ngundhuh arsip maven (apache-maven-3.8.5-bin.zip). Arsip unpacked bakal njupuk nang endi wae watara 10 MB, sanajan repositori maven lokal pungkasanipun bakal mbutuhake sawetara atus megabyte memori.

Maven ditulis ing Jawa lan mbutuhake JRE paling versi 7, uga variabel lingkungan JAVA_HOME sing ditetepake.

Mung nggawe folder kanggo Maven ing komputer, contone, d:\devtools , lan extract arsip karo Maven menyang. Akibaté, sampeyan kudu entuk folder kaya d:\devtools\maven\bin , ing ngendi binari utama proyek bakal ana.

1.4 Variabel lingkungan

Sawise iku, sampeyan kudu nambah path menyang folder bin saka arsip unpacked kanggo variabel lingkungan PATH.

Kanggo nyetel variabel lingkungan ing Windows 10, sampeyan kudu pindhah menyang Control Panel - System - Advanced system settings. Banjur klik "Variabel Lingkungan", golek PATH banjur pilih "Sunting", banjur tambahake path d:\devtools\maven\bin menyang mburi baris. Pay manungsa waé, path kudu mimpin persis menyang folder bin.

Ing OS basis Unix, variabel lingkungan bisa ditambahake nganggo perintah konsol:

export PATH=/opt/apache-maven-3.8.5/bin:$PATH

Yen sampeyan nindakake kabeh kanthi bener, banjur ing console sampeyan kudu ngetik printah: "mvn -v". Nanggepi, sampeyan bakal weruh kaya:

C:\Users\Zapp>mvn -v
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 15:51:28+0200)
Maven home: T:\apache-maven-3.0.5\bin\..
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_65\jre
Default locale: en_US, platform encoding: Cp1251
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"

1.5 Repositori Maven Lokal

Sampeyan uga bisa nyetel folder khusus ing ngendi Maven bakal nyimpen perpustakaan jar sing bakal digunakake nalika mbangun proyek. Folder iki diarani repositori maven lokal .

Yen ora ana folder kasebut, Maven bakal nggawe ing direktori ngarep pangguna saiki. Direktoriku yaiku: C:\Users\Zapp\.m2

Folder kasebut nduweni jeneng sing rada spesifik ".m2". Sanajan ora medeni pangguna Linux - ana pendekatan sing cukup umum kanggo menehi jeneng macem-macem "repositori" lan / utawa panyimpenan informasi layanan liyane.

Penting! Aja nyelehake Maven ing folder sistem, amarga mbutuhake ijin nulis menyang folder kasebut sajrone operasi, sing bisa uga ora nyenengake kanggo antivirus utawa sistem operasi.

Maven sadurunge versi 3.5 mbutuhake variabel lingkungan sing diarani M2_HOME, nanging iki ora perlu maneh.

Sampeyan bisa maca liyane babagan konfigurasi Maven ing link: https://maven.apache.org/configure.html