เมื่อเร็ว ๆ นี้เนื่องจากความต้องการของโครงการฉันได้ศึกษาบรรจุภัณฑ์ของ Maven และโครงการจำเป็นต้องทำ
1. สร้างไดเรกทอรี /lib 3 ไดเรกทอรี /conf, /bin ไดเรกทอรี
2. รวบรวมและคัดลอกไดเรกทอรี JAR ทั้งหมดไปยัง /lib ไดเรกทอรี (รวมถึงแพ็คเกจ Jar ของ Maven และ JAR ในไดเรกทอรี LIB รวมถึงแพ็คเกจ JAR ที่รวบรวม)
3. คัดลอกสคริปต์เริ่มต้นทั้งหมดจากไดเรกทอรีรูทโครงการไปยังไดเรกทอรี /bin
4. คัดลอกไฟล์การกำหนดค่าทั้งหมดจาก SRC/Main/Resources เป็น/Conf
ต่อไปนี้คือ pom.xml ที่กำหนดค่า ฉันแสดงความคิดเห็นเกี่ยวกับการกำหนดค่าที่เกี่ยวข้องทั้งหมดและคุณสามารถเข้าใจได้อย่างรวดเร็ว หากคุณคัดลอกโหนดบิลด์ไปยังโครงการของคุณคุณสามารถใช้งานได้ :)
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderversion> 4.0.0 </modelversion> <modyversion> </nameVersion> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> UTF-8 </project.build.sourceencoding> </คุณสมบัติ> <pendencies> <! <Sourcedirectory> SRC/Main/Java </sourcedirectory> <resources> <!-คัดลอกไฟล์ทั้งหมดในไดเรกทอรี SRC/Main/Resources ไปยังไดเรกทอรี COF-> <sronesory> <Sresory> SRC/Main/Resources </Directory> ไดเรกทอรี (แพ็คเกจขวดบางอย่างอาจไม่พบใน maven และจำเป็นต้องวางไว้ในไดเรกทอรี lib)-> <srovesors> <srovesory> lib </directory> <StourgePath> $ {Project.build.directory}/lib </targetath> </ทรัพยากร> <!-คัดลอกไฟล์สคริปต์ <conaled> **/*. sh </include> <cult> **/*. bat </include> </include> <sournedpath> $ {project.build.directory}/bin </targetpath> </sursese> </surses> <plugins> <!-ปลั๊กอินสำหรับการรวบรวม-> <ratifactid> maven-compiler-plugin </artifactid> <sersion> 3.1 </เวอร์ชัน> <การกำหนดค่า> <fork> true </fork> <ColfeLibbundleDir> lib </defaultLibbundledir> <source> 1.7 </source> <target> ไม่มีการใช้งาน-> <Ceneutable> C:/ไฟล์โปรแกรม (x86) /java/jdk1.8.0_91/bin/javac.exe </executable> </การกำหนดค่า> </plugin> <!-ปลั๊กอินสำหรับการสร้างแพ็คเกจ Jar <ArtIfactId> maven-jar-plugin </artifactid> <sersion> 2.6 </เวอร์ชัน> <การกำหนดค่า> <!-ใส่แพ็คเกจขวดที่สร้างขึ้นในไดเรกทอรี lib (พร้อมแพ็คเกจขวดอื่น ๆ ทั้งหมด)-> <sclasspathprefix> lib/</classpathprefix> </manifest> </archive> <excludes> <!- ไม่รวมไฟล์บางไฟล์และไม่ใส่ไว้ในแพ็คเกจ JAR นี่คือการยกเว้นไฟล์ใน SRC/Main/Resources (ควรวางไว้ในไดเรกทอรี COF) ที่นี่คุณสามารถระบุไฟล์เป้าหมายที่จะถูกแยกออก แต่ไม่ใช่ไฟล์ต้นฉบับ แม้ว่าพวกเขาจะไม่สมบูรณ์แบบ แต่พวกเขาก็สามารถบรรลุเป้าหมายได้ -> <exclude>*. xml </excrude> <cedure>*. คุณสมบัติ </exclude> </excludes> </การกำหนดค่า> </plugin> <!-ปลั๊กอินสำหรับการคัดลอกการพึ่งพา maven-> <plugin> <Sersion> 2.10 </SEXIONS> <Cenections> <EXECUTION> <ID> การคัดลอก-พึ่งพาอาศัยกัน </id> <pare> แพคเกจ </เฟส> <source> <soal> การคัดลอก-พึ่งพาอาศัยกัน </เป้าหมาย> </เป้าหมาย> <การกำหนดค่า> <! <outputDirectory> $ {Project.build.directory}/lib </outputDirectory> </การกำหนดค่า> </Execution> </Executions> </plugin> <!-ปลั๊กอินสำหรับการคัดลอกทรัพยากร-> <plugin> <Sersion> 2.7 </Senture> <การกำหนดค่า> <SONCODING> UTF-8 </SONCODING> </การกำหนดค่า> </PLUNIN> <!-กำหนดค่าปลั๊กอินที่สร้าง JAR ซอร์สโค้ด-> <PLUNIN> <!-กำหนดค่าพา ธ การจัดเก็บของไฟล์ jar ซอร์สโค้ดและวางไว้ในไดเรกทอรี lib ด้วยไฟล์ jar อื่น ๆ-> <putputDirectory> $ {project.build.directory}/lib </outputDirectory> </การกำหนดค่า> </plugins> </uffer> </project>จากนั้นดำเนินการบรรจุภัณฑ์แพ็คเกจ Maven หากเป็น Eclipse ให้ป้อนแพ็คเกจใน Project Explorer-> Run as> maven build …> เป้าหมายและคลิกเรียกใช้เพื่อรวบรวม
สคริปต์เริ่มต้น start.bat ในไดเรกทอรี bin สามารถเขียนได้เช่นนี้:
@echo Offset classpath =%java_home%/libset java =%java_home%/bin/javaset classpath =%classpath%; ../ confset java_options = -djava.ext.dirs = " % java_options test.hangqingentrance
ข้างบน:
เพิ่มไดเรกทอรี COF ลงใน ClassPath เนื่องจากไดเรกทอรี COF มีไฟล์การกำหนดค่าที่คัดลอกมาจาก SRC/Main/Resources
การตั้งค่า -djava.ext.dirs = "../ lib" เพราะแพ็คเกจขวดถูกวางไว้ในไดเรกทอรี LIB
ด้านบนเป็นเนื้อหาเต็มรูปแบบของวิธีการ (แนะนำ) สำหรับการกำหนดค่า pom.xml เพื่อใช้ Maven เพื่อจัดทำโครงการ Java ฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น ~