วิธีสร้างโปรเจ็กต์ Java รวมถึงการอ้างอิงทั้งหมดโดยใช้ Maven maven-resources, maven-dependency และ maven-jar Plugins
เผยแพร่แล้ว: 2016-11-26
คุณกำลังทำงานในระดับองค์กร Java Project? ใช้ไฟล์ Maven POM.xml
เพื่อให้การพึ่งพาทั้งหมดเป็นปัจจุบันหรือไม่ ในโครงการของคุณ คุณมี src folder
resources folder
lib folder
ฯลฯ หรือไม่? ถ้าคุณต้องการปรับใช้โปรเจ็กต์นี้กับไคลเอนต์บุคคลที่สามล่ะ ฮาร์ดแวร์แบบสแตนด์อโลนอื่น ๆ หรือไม่?
มีวิธีง่ายๆ ในการสร้างและสร้างไฟล์สั่งการของ Java Project ด้วย Maven Plugins ดูตัวอย่างโครงการ Java ด้านล่าง

มาเริ่มกันและให้ฉันอธิบายทุกส่วนของโครงการ:
-
CrunchifyMavenBuildPlugins
เป็นโครงการ Maven หากคุณมีโปรเจ็กต์ Java และต้องการแปลงเป็นโปรเจ็กต์ Maven ให้ทำตามบทช่วยสอนนี้ - เรามีสองโฟลเดอร์
src
และresources.
- ภายในโฟลเดอร์
resources
เรามีโฟลเดอร์ชื่อScripts
ซึ่งมีไฟล์เชลล์สคริปต์ที่ปฏิบัติการได้หนึ่งไฟล์ -
CrunchifyMain.java
เป็นจุดเริ่มต้นหลักที่มีเมธอดmain(String args[])
อยู่ภายใน - ไฟล์
pom.xml
ซึ่งเราจะเพิ่ม Maven Plugins ซึ่งจะสร้างโปรเจ็กต์ .jar ที่สามารถเรียกทำงานได้พร้อมการพึ่งพาที่รวมอยู่ทั้งหมด
ขั้นตอนที่ 1
เปิดไฟล์ pom.xml
ของคุณและเพิ่มด้านล่างภายใต้ <build>
หมายเหตุ: ฉันได้เพิ่ม ปลั๊กอิน 3 ตัว ด้านล่าง
-
maven-resources-plugin
: ปลั๊กอิน Resources จัดการการคัดลอกทรัพยากรโครงการไปยังไดเร็กทอรีเอาต์พุต ทรัพยากรหลักคือทรัพยากรที่เกี่ยวข้องกับซอร์สโค้ดหลัก -
maven-dependency-plugin:
การพึ่งพาให้ความสามารถในการจัดการสิ่งประดิษฐ์ มันสามารถคัดลอกและ/หรือแกะสิ่งประดิษฐ์จากที่เก็บในเครื่องหรือระยะไกลไปยังตำแหน่งที่ระบุ -
maven-jar-plugin:
ปลั๊กอินนี้ให้ความสามารถในการสร้างและลงนามในไห
นี่คือไฟล์ pom.xml ที่สมบูรณ์ โดยหลักแล้ว คุณจะสนใจแท็ก <build>
โปรดอัปเดตตำแหน่งไดเรกทอรี ชื่อไฟล์ และเส้นทางตามที่คุณต้องการด้านล่าง
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 > |
ขั้นตอนที่ 2
คลิกขวาที่ Project -> Run As -> Maven Build


ขั้นตอนที่ 3
ให้อาร์กิวเมนต์ " clean install
"

ขั้นตอนที่ 4
คุณควรเห็นผลเช่นนี้

ขั้นตอนที่ -5
ตอนนี้ตรวจสอบโฟลเดอร์โฟลเดอร์ /target/Crunchify
เพื่อตรวจสอบทุกอย่างภายใต้นั้น

ขั้นตอนที่ 6
ตอนนี้เพียงเรียกใช้โครงการของคุณด้วยคำสั่งด้านล่าง $bash> java -jar Crunchify.jar
โปรดแจ้งให้เราทราบหากคุณมีปัญหาในการสร้างโครงการ สนุกและมีความสุขในการเข้ารหัส