Bagaimana Cara Membangun Proyek Java termasuk semua Ketergantungan Menggunakan Maven? Maven-resources, maven-dependency, dan Plugin maven-jar
Diterbitkan: 2016-11-26
Apakah Anda bekerja di Proyek Java tingkat perusahaan? Menggunakan file Maven POM.xml
untuk menjaga semua dependensi tetap mutakhir? Dalam proyek Anda, apakah Anda memiliki src folder
resources folder
lib folder
, dll? Nah, bagaimana jika Anda ingin menyebarkan proyek ini ke klien pihak ketiga? Adakah perangkat keras mandiri lainnya?
Nah, ada cara sederhana untuk membangun dan membuat Proyek Java Anda dapat dieksekusi dengan Plugin Maven. Lihatlah di bawah contoh Proyek Java.

Mari kita mulai dan izinkan saya menjelaskan semua bagian proyek:
-
CrunchifyMavenBuildPlugins
adalah Proyek Maven. Jika Anda memiliki proyek Java dan ingin mengubahnya menjadi proyek Maven, ikuti tutorial ini. - Kami memiliki dua folder.
src
danresources.
- Di dalam folder
resources
kami memiliki folder bernamaScripts
yang berisi satu file skrip shell yang dapat dieksekusi. -
CrunchifyMain.java
adalah titik awal utama yang memiliki metodemain(String args[])
di dalamnya. -
pom.xml
di mana kita akan menambahkan Plugin Maven yang akan membangun proyek .jar yang dapat dieksekusi dengan semua dependensi yang disertakan.
Langkah 1
Buka file pom.xml
Anda dan tambahkan di bawah <build>
. Catatan: Saya telah menambahkan 3 plugin di bawah ini.
-
maven-resources-plugin
: Plugin Sumber Daya menangani penyalinan sumber daya proyek ke direktori keluaran. Sumber daya utama adalah sumber daya yang terkait dengan kode sumber utama. -
maven-dependency-plugin:
ketergantungan menyediakan kemampuan untuk memanipulasi artefak. Itu dapat menyalin dan/atau membongkar artefak dari repositori lokal atau jarak jauh ke lokasi tertentu. -
maven-jar-plugin:
Plugin ini menyediakan kemampuan untuk membuat dan menandatangani stoples.
Berikut ini adalah file pom.xml lengkap. Terutama Anda akan tertarik pada tag <build>.
Harap perbarui lokasi direktori, nama file, dan jalur sesuai kebutuhan Anda di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
< 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 > CrunchifyMavenBuildPlugins < / groupId > < artifactId > CrunchifyMavenBuildPlugins < / artifactId > < version > 0.0.1 - SNAPSHOT < / version > < name > CrunchifyMavenBuildPlugins < / name > < properties > < project . build . sourceEncoding > UTF - 8 < / project . build . sourceEncoding > < / properties > < dependencies > < dependency > < groupId > log4j < / groupId > < artifactId > log4j < / artifactId > < version > 2.15.0 < / version > < / dependency > < dependency > < groupId > com . googlecode . json - simple < / groupId > < artifactId > json - simple < / artifactId > < version > 1.1 < / version > < / dependency > < dependency > < groupId > axis < / groupId > < artifactId > axis < / artifactId > < version > 1.4 < / version > < / dependency > < dependency > < groupId > commons - beanutils < / groupId > < artifactId > commons - beanutils < / artifactId > < version > 1.8.3 < / version > < / dependency > < dependency > < groupId > commons - collections < / groupId > < artifactId > commons - collections < / artifactId > < version > 3.2.1 < / version > < / dependency > < dependency > < groupId > commons - configuration < / groupId > < artifactId > commons - configuration < / artifactId > < version > 1.10 < / version > < / dependency > < dependency > < groupId > commons - io < / groupId > < artifactId > commons - io < / artifactId > < version > 2.4 < / version > < / dependency > < dependency > < groupId > javax . mail < / groupId > < artifactId > mail < / artifactId > < version > 1.4.7 < / version > < / dependency > < dependency > < groupId > javax . servlet < / groupId > < artifactId > servlet - api < / artifactId > < version > 2.5 < / version > < / dependency > < dependency > < groupId > org . json < / groupId > < artifactId > json < / artifactId > < version > 20140107 < / version > < / dependency > < dependency > < groupId > axis < / groupId > < artifactId > axis - saaj < / artifactId > < version > 1.4 < / version > < / dependency > < dependency > < groupId > wsdl4j < / groupId > < artifactId > wsdl4j < / artifactId > < version > 1.6.3 < / version > < / dependency > < dependency > < groupId > com . google . zxing < / groupId > < artifactId > core < / artifactId > < version > 2.0 < / version > < / dependency > < / dependencies > < build > < pluginManagement > < plugins > < plugin > < groupId > org . apache . maven . plugins < / groupId > < artifactId > maven - compiler - plugin < / artifactId > < version > 2.3.1 < / version > < configuration > < source > 1.7 < / source > < target > 1.7 < / target > < / configuration > < / plugin > < / plugins > < / pluginManagement > < plugins > < plugin > < artifactId > maven - resources - plugin < / artifactId > < version > 2.6 < / version > < executions > < execution > < id > copy - resources < / id > < phase > validate < / phase > < goals > < goal > copy - resources < / goal > < / goals > < configuration > < outputDirectory > $ { basedir } / target / Crunchify < / outputDirectory > < resources > < resource > < directory > resources < / directory > < filtering > true < / filtering > < / resource > < / resources > < / configuration > < / execution > < / executions > < / plugin > < plugin > < groupId > org . apache . maven . plugins < / groupId > < artifactId > maven - dependency - plugin < / artifactId > < executions > < execution > < id > copy - dependencies < / id > < phase > prepare - package < / phase > < goals > < goal > copy - dependencies < / goal > < / goals > < configuration > < outputDirectory > $ { project . build . directory } / Crunchify / lib < / outputDirectory > < overWriteReleases > false < / overWriteReleases > < overWriteSnapshots > false < / overWriteSnapshots > < overWriteIfNewer > true < / overWriteIfNewer > < / configuration > < / execution > < / executions > < / plugin > < plugin > < groupId > org . apache . maven . plugins < / groupId > < artifactId > maven - jar - plugin < / artifactId > < configuration > < archive > < manifest > < addClasspath > true < / addClasspath > < classpathPrefix > lib / < / classpathPrefix > < mainClass > com . crunchify . tutorial . CrunchifyMain < / mainClass > < / manifest > < manifestEntries > < Class - Path > . < / Class - Path > < / manifestEntries > < / archive > < finalName > Crunchify / Crunchify < / finalName > < / configuration > < / plugin > < / plugins > < / build > < / project > |
Langkah 2
Klik Kanan pada Project -> Run As -> Maven Build


Langkah-3
Berikan argumen “ clean install
”

Langkah-4
Anda akan melihat hasil seperti ini.

Langkah-5
Sekarang periksa folder folder /target/Crunchify
untuk memeriksa semua yang ada di bawahnya.

Langkah-6
Sekarang jalankan saja proyek Anda dengan perintah di bawah ini $bash> java -jar Crunchify.jar
Beri tahu saya jika Anda memiliki masalah dalam membangun proyek. Selamat menikmati dan Selamat Coding.