1.1 โปรแกรมขนาดใหญ่

เราได้เรียนรู้วิธีการเขียนโปรแกรมขนาดเล็กแล้ว ดังนั้นตอนนี้เราจะเรียนรู้วิธีการเขียนโปรแกรมขนาดใหญ่ อย่างที่คุณทราบยิ่งโปรแกรมใหญ่และซับซ้อนมากเท่าไหร่ก็ยิ่งมีเงินมากขึ้นสำหรับการพัฒนา :) และเริ่มด้วยพื้นหลังเล็กน้อย ...

เมื่อโปรแกรมมีขนาดใหญ่ขึ้น นักพัฒนาต้องเผชิญกับความท้าทายใหม่สองประการ:

  • ผู้คนจำนวนมากกำลังทำงานในโปรแกรมเดียวกัน
  • ไม่มีบุคคลดังกล่าวที่จะรู้รหัสทั้งหมดของโปรแกรม

บ่อยครั้งที่สถานการณ์เริ่มเกิดขึ้นเมื่อโปรแกรมเมอร์แก้ไขข้อบกพร่องในที่หนึ่งของโปรแกรมและในขณะเดียวกันก็ทำลายบางอย่างในที่อื่น เอกสารเผยแพร่ยังมีเรื่องตลกนี้:

รายการการเปลี่ยนแปลง:

  • แก้ไขข้อผิดพลาดเก่า :)
  • เพิ่มใหม่ :(

จากนั้นจึงคิดแนวทางสองวิธีในการแก้ปัญหานี้: ด้านเทคนิคและการจัดการ

แนวทางทางเทคนิคคือการแยกโปรแกรมออกเป็นส่วนๆ ได้แก่ไลบรารีและโมดูล แต่ละโมดูลดังกล่าวเป็นอิฐขนาดเล็กที่ใช้สร้างโครงการขนาดใหญ่ ไลบรารีเป็นองค์ประกอบสากลที่สามารถใช้ในโปรแกรมต่างๆ

วิธีการจัดการนั้นน่าสนใจยิ่งกว่า - พวกเขาจำกัดจำนวนคนที่สามารถทำงานในโครงการ/ห้องสมุดหนึ่งแห่งได้ พวกเขาถึงกับตั้งกฎขึ้นมาว่าทีมควรมีขนาดใหญ่จนสามารถเลี้ยงพิซซ่าได้ 2 ถาด ซึ่งโดยปกติหมายความว่าหากมีคนทำงานมากกว่า8 คน ในโครงการ หนึ่งๆ จะต้องแบ่งออกเป็นสองโครงการ

เป็นที่นิยมในชุมชนนักพัฒนา Java ในการเขียนไลบรารีสำหรับทุกโอกาสและเผยแพร่ต่อสาธารณะ ดังนั้น โปรแกรมเมอร์ Java ไม่สามารถเขียนโค้ดเดิมได้อีก (ซึ่งมักจะเป็นข้อมูลดิบและมีบั๊ก) แต่ให้ใช้ โซลูชันสำเร็จรูปและได้รับการ พิสูจน์ แล้ว

สิ่งจูงใจเพิ่มเติมคือความจริงที่ว่าภาษา Java ได้รับความนิยมอย่างมากเมื่อเขียนโซลูชันฝั่งเซิร์ฟเวอร์ (ทำงานบนแบ็กเอนด์) ประการแรก ซอฟต์แวร์เซิร์ฟเวอร์มีข้อกำหนดด้านความน่าเชื่อถือที่สูงกว่า และการใช้ไลบรารี่ที่ทดสอบตามเวลามักจะดีกว่าการเขียนโค้ดของคุณเอง

ประการที่สอง เซิร์ฟเวอร์ไม่มีข้อจำกัดเกี่ยวกับขนาดของโค้ด ผู้พัฒนาแอปพลิเคชันมือถือพยายามอัดเป็น 10 เมกะไบต์ แอปพลิเคชันเดสก์ท็อป - เป็น 100 เมกะไบต์ และผู้พัฒนาแบ็กเอนด์ Java สามารถอัดไลบรารีหลายสิบกิกะไบต์ลงในโปรเจ็กต์และไม่มีใครพูดอะไรกับเขา :)

อย่างไรก็ตาม นี่ไม่ใช่เรื่องตลก คุณสามารถเจอโปรเจ็กต์แบ็คเอนด์ที่มีโมดูลหลายสิบโมดูลและไลบรารีสองสามร้อยไลบรารีได้อย่างง่ายดาย แต่มันกลายเป็นเรื่องยากมากที่จะอธิบาย (และเปลี่ยนแปลง!) สร้างสคริปต์สำหรับโครงการดังกล่าว

แล้วมาเวนก็ปรากฏตัวขึ้น

1.2 รู้เบื้องต้นเกี่ยวกับ Maven

Mavenเป็น "กรอบงาน" พิเศษสำหรับการจัดการการสร้างโครงการ มันสร้างมาตรฐาน 3 สิ่ง:
  • คำอธิบายของโครงการ
  • สคริปต์สร้างโครงการ
  • การพึ่งพาระหว่างห้องสมุด

บรรพบุรุษของ Maven คือAnt และผู้สืบทอดคือGradle แต่เป็น Maven ที่พัฒนาและทำให้มาตรฐานทั้งสามรายการสมบูรณ์แบบและยังควบคุมการโต้ตอบของพวกเขาด้วย เขาเป็นคนที่นำงานของชุมชน Java ไปสู่อีกระดับ ลองดูในรายละเอียดเพิ่มเติม

มาเวน

ในทางเทคนิค Maven เป็นโปรแกรม / บริการพิเศษซึ่งมีจุดประสงค์หลักเพื่อจัดการกระบวนการสร้างโครงการ สามารถดาวน์โหลดเป็นไฟล์เก็บถาวรและแตกไฟล์ไปยังไดเร็กทอรีใดก็ได้ คุณไม่จำเป็นต้องมีโปรแกรมติดตั้งพิเศษสำหรับสิ่งนี้

เธอไม่มีอินเทอร์เฟซแบบกราฟิก - คำสั่งทั้งหมดมอบให้ เธอโดยใช้คอนโซล เพื่อให้ใช้งานได้สะดวกยิ่งขึ้น ขอแนะนำให้ลงทะเบียนตัวแปรสภาพแวดล้อมพิเศษในระบบปฏิบัติการของคุณ

Maven ยังมีพื้นที่เก็บข้อมูล พิเศษ (ไดเร็กทอรี / โฟลเดอร์) ซึ่งจัดเก็บไลบรารีที่ใช้เมื่อสร้างโครงการ คุณจะต้องเลือกบางโฟลเดอร์ในดิสก์และกำหนดเป็นที่เก็บ

สิ่งที่น่าสนใจอีกอย่างคือการมีที่เก็บ Maven ส่วนกลางสำหรับห้องสมุดทั้งหมด แต่เราจะพูดถึงเรื่องนี้ในภายหลัง

1.3 ดาวน์โหลดและติดตั้ง Maven

Maven มีเว็บไซต์อย่างเป็นทางการmaven.apache.org มีเอกสารมากมายเกี่ยวกับโครงการ ดังนั้นหากคุณมีปัญหาหรือคำถามเพิ่มเติม - เข้ามาเลย ไม่ต้องอาย

นอกจากนี้ในหน้าดาวน์โหลด ( https://maven.apache.org/download.cgi ) คุณสามารถดาวน์โหลดไฟล์เก็บถาวร maven (apache-maven-3.8.5-bin.zip) ไฟล์เก็บถาวรที่แตกไฟล์จะใช้พื้นที่ประมาณ 10 MB แม้ว่าที่เก็บ maven ในเครื่องจะต้องใช้หน่วยความจำหลายร้อยเมกะไบต์ในที่สุด

Maven เขียนด้วย Java และต้องการ JRE อย่างน้อยเวอร์ชัน 7 รวมถึงตัวแปรสภาพแวดล้อม JAVA_HOME ที่กำหนดไว้

เพียงสร้างโฟลเดอร์สำหรับ Maven บนคอมพิวเตอร์ของคุณ เช่นd:\devtoolsและแตกไฟล์เก็บถาวรที่มี Maven ลงไป ดังนั้นคุณควรได้รับโฟลเดอร์เช่นd:\devtools\maven\binซึ่งจะเป็นที่ตั้งของไบนารีหลักของโครงการ

1.4 ตัวแปรสภาพแวดล้อม

หลังจากนั้น คุณต้องเพิ่มเส้นทางไปยังโฟลเดอร์ bin จากไฟล์เก็บถาวรที่คลายแพ็กไปยังตัวแปรสภาพแวดล้อม PATH

ในการตั้งค่าตัวแปรสภาพแวดล้อมใน Windows 10 คุณต้องไปที่แผงควบคุม - ระบบ - การตั้งค่าระบบขั้นสูง จากนั้นคลิก "ตัวแปรสภาพแวดล้อม" ค้นหา PATH และเลือก "แก้ไข" จากนั้นเพิ่มพาธ d :\devtools\maven\binที่ท้ายบรรทัด โปรดทราบว่าเส้นทางจะต้องนำไปสู่โฟลเดอร์ถังขยะอย่างแน่นอน

บนระบบปฏิบัติการ Unix สามารถเพิ่มตัวแปรสภาพแวดล้อมได้ด้วยคำสั่งคอนโซล:

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

หากคุณทำทุกอย่างถูกต้องคุณต้องพิมพ์คำสั่งในคอนโซล: "mvn -v" ในการตอบสนอง คุณจะเห็นบางอย่างเช่น:

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 พื้นที่เก็บข้อมูล Maven ในเครื่อง

คุณยังสามารถตั้งค่าโฟลเดอร์พิเศษที่ Maven จะจัดเก็บไลบรารี่ของ jar ซึ่งจะใช้เมื่อสร้างโปรเจ็กต์ โฟลเดอร์นี้เรียกว่าที่เก็บ maven ในเครื่อง

หากไม่ได้ระบุโฟลเดอร์ดังกล่าว Maven จะสร้างไว้ในโฮมไดเร็กทอรีของผู้ใช้ปัจจุบัน ไดเรกทอรีของฉันคือ: C:\Users\Zapp\.m2

โฟลเดอร์นี้มีชื่อค่อนข้างเจาะจงว่า “.m2” แม้ว่าจะไม่ทำให้ผู้ใช้ Linux กลัว แต่ก็เป็นวิธีที่ใช้กันทั่วไปในการตั้งชื่อ "ที่เก็บ" และ / หรือที่เก็บข้อมูลบริการอื่น ๆ

สำคัญ! อย่าวาง Maven ไว้ในโฟลเดอร์ระบบ เนื่องจากจะต้องได้รับสิทธิ์ในการเขียนไปยังโฟลเดอร์เหล่านี้ระหว่างการทำงาน ซึ่งอาจส่งผลเสียต่อโปรแกรมป้องกันไวรัสหรือระบบปฏิบัติการ

Maven ก่อนเวอร์ชัน 3.5 ต้องการตัวแปรสภาพแวดล้อมที่เรียกว่า M2_HOME แต่สิ่งนี้ไม่จำเป็นอีกต่อไป

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการกำหนดค่า Maven ได้ที่ลิงค์: https://maven.apache.org/configure.html