Saya diberi proyek maven untuk mengkompilasi dan ditempatkan di server kucing jantan. Saya belum pernah menggunakan pakar sebelum hari ini, tetapi saya sudah sedikit googling. Sepertinya pom.xml
file tingkat atas dalam proyek ini memiliki jenis kemasan yang ditetapkan sebagai pom
.
Apa yang harus saya lakukan setelah mvn install
mendapatkan aplikasi ini digunakan? Saya berharap dapat menemukan war
file di suatu tempat atau sesuatu, tapi saya kira saya mencari di tempat yang salah atau melewatkan langkah.
Jawaban:
pom
pada dasarnya adalah wadah submodul, setiap submodul diwakili oleh subdirektori dalam direktori yang samapom.xml
denganpom
kemasan.Di suatu tempat, bersarang di dalam struktur proyek Anda akan menemukan artefak (modul) dengan
war
kemasan. Maven umumnya membuat semuanya menjadi/target
subdirektori dari setiap modul. Jadi setelahmvn install
melihat ketarget
subdirektori dalam modul denganwar
kemasan.Tentu saja:
berfungsi sama baiknya ;-).
sumber
kemasan pom hanyalah spesifikasi yang menyatakan artefak utama bukan perang atau botol, tetapi pom.xml itu sendiri.
Seringkali ini digunakan bersama dengan "modul" yang biasanya terkandung dalam sub-direktori proyek yang bersangkutan; Namun, itu juga dapat digunakan dalam skenario tertentu di mana tidak ada biner primer dimaksudkan untuk dibangun, semua artefak penting lainnya telah dinyatakan sebagai artefak sekunder
Pikirkan proyek "dokumentasi", artefak utama mungkin berupa PDF, tetapi sudah dibangun, dan pekerjaan untuk menyatakannya sebagai artefak sekunder mungkin diinginkan daripada konfigurasi untuk memberi tahu pakar bagaimana cara membangun PDF yang tidak perlu dikompilasi.
sumber
Pengemasan
pom
digunakan dalam proyek-proyek yang menggabungkan proyek-proyek lain, dan dalam proyek-proyek yang hanya bermanfaat keluarannya merupakan artifak terlampir dari beberapa plugin. Dalam kasus Anda, saya rasa pom tingkat atas Anda mencakup<modules>...</modules>
untuk mengumpulkan direktori lain, dan output aktual adalah hasil dari salah satu dari direktori lain (mungkin sub). Ini akan, jika dikodekan dengan bijaksana untuk tujuan ini, memiliki kemasanwar
.sumber
Untuk hanya menjawab pertanyaan Anda ketika Anda melakukan mvn: instal , maven akan membuat artefak paket berdasarkan ( atribut kemasan di pom.xml), Setelah Anda menjalankan instalasi maven Anda, Anda dapat menemukan file dengan ekstensi .package
sumber
Mengemas artefak sebagai POM berarti memiliki siklus hidup yang sangat sederhana
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
Ini berguna jika Anda menggunakan file pom.xml atau proyek yang tidak sesuai dengan jenis kemasan lainnya.
Kami menggunakan kemasan pom untuk banyak proyek kami dan mengikat fase dan tujuan tambahan yang sesuai.
Sebagai contoh, beberapa aplikasi kami menggunakan:
Ketika Anda mvn menginstal aplikasi itu harus menambahkannya ke repositori .m2 lokal Anda. Untuk menerbitkan di tempat lain, Anda perlu mengatur informasi manajemen distribusi yang benar. Anda juga mungkin perlu menggunakan plugin helper pembuat maven, jika artefak tidak secara otomatis dilampirkan oleh Maven.
sumber
Saya sarankan untuk melihat contoh klasik di: http://maven.apache.org/guides/getting-started/index.html#How_do_I_build_more_than_one_project_at_once
Di sini my-webapp adalah proyek web, yang tergantung pada kode di proyek aplikasi saya. Jadi untuk menggabungkan dua proyek dalam satu, kami memiliki pom.xml tingkat atas yang menyebutkan proyek mana (modul sesuai terminologi pakar) yang akhirnya akan digabungkan. Pom.xml tingkat atas tersebut dapat menggunakan kemasan pom.
my-webapp dapat memiliki kemasan perang dan dapat memiliki ketergantungan pada aplikasi saya. aplikasi saya dapat memiliki kemasan jar.
sumber
Kasus penggunaan kehidupan nyata
Di sebuah perusahaan besar di Jawa kami memiliki proyek python yang perlu masuk ke repositori artefak Nexus. Python tidak benar-benar memiliki artefak, jadi hanya ingin .tar atau .zip file python dan tekan. Repo tersebut sudah memiliki integrasi pakar, jadi kami menggunakan
<packaging>pom</packaging>
perancang dengan plugin perakitan pakar untuk mengemas proyek python sebagai.zip
dan mengunggahnya.Langkah-langkahnya diuraikan dalam pos SO ini
sumber
Kemasan “pom” tidak lain adalah wadah, yang berisi paket / modul lain seperti stoples, perang, dan telinga.
jika Anda melakukan operasi pada paket luar / wadah seperti mvn clean compile install. kemudian paket / modul dalam juga mendapatkan kompilasi instalasi yang bersih.
tidak perlu melakukan operasi terpisah untuk setiap paket / modul.
sumber
https://maven.apache.org/pom.html
Jenis kemasan yang diperlukan untuk proyek induk dan agregasi (multi-modul). Jenis-jenis ini menentukan tujuan yang terikat pada serangkaian tahapan siklus hidup. Misalnya, jika kemasannya adalah toples, maka fase paket akan menjalankan toples: jar gol. Jika kemasannya adalah pom, sasaran yang dieksekusi adalah situs: attach-descriptor
sumber
POM (Project Object Model) tidak lain adalah skrip otomatisasi untuk membangun proyek, kita dapat menulis skrip otomasi dalam XML, file skrip bangunan dinamai secara berbeda dalam alat Otomasi yang berbeda
seperti yang kita sebut build.xml di ANT, pom.xml di MAVEN
MAVEN dapat mengemas guci, perang, telinga, dan POM yang merupakan hal baru bagi kita semua
jika Anda ingin memeriksa APA ITU POM.XML
sumber