แทนที่จะเขียนสคริปต์ยาว ๆ เพื่อสร้างโครงการของคุณและดาวน์โหลดการอ้างอิงด้วยตนเองทำไมไม่ใช้ Maven และกำจัดความยุ่งเหยิงนี้ บล็อกเกี่ยวกับบทช่วยสอน Maven นี้จะครอบคลุมทุกสิ่งที่คุณต้องการเพื่อเริ่มต้นใช้งาน Maven สำหรับโครงการของคุณ หลังจากทำความเข้าใจบทช่วยสอน Maven นี้อย่างละเอียดแล้วขั้นตอนต่อไปคือการเรียนรู้ Jenkins ซึ่งครอบคลุมขั้นตอนการผสานรวมอย่างต่อเนื่องของ .
ในบล็อกเกี่ยวกับการสอน Maven นี้เราจะกล่าวถึงหัวข้อต่อไปนี้:
- ทำไมเราถึงต้องการ Maven?
- Maven คืออะไร?
- สถาปัตยกรรม Maven
- วงจรชีวิตขั้นตอนและเป้าหมายของ Maven
- โครงการสาธิต
ทำไมเราถึงต้องการ Maven?
หากคุณกำลังทำงานกับโปรเจ็กต์ Java ส่วนใหญ่แล้วคุณต้องการการอ้างอิง การอ้างอิงไม่ใช่อะไรนอกจากไลบรารีหรือไฟล์ JAR คุณต้องดาวน์โหลดและเพิ่มด้วยตนเอง นอกจากนี้งานในการอัปเกรดซอฟต์แวร์สแต็กสำหรับโปรเจ็กต์ของคุณยังทำด้วยตนเองก่อน Maven ดังนั้นจึงจำเป็นต้องมีเครื่องมือสร้างที่ดีกว่าเพื่อจัดการกับปัญหาดังกล่าว
ที่ Maven เข้ามาในภาพ Maven สามารถแก้ปัญหาทั้งหมดของคุณที่เกี่ยวข้องกับการอ้างอิง คุณเพียงแค่ต้องระบุการอ้างอิงและเวอร์ชันซอฟต์แวร์ที่คุณต้องการในไฟล์ pom.xml ใน Maven และ Maven จะดูแลส่วนที่เหลือตอนนี้ให้เราพยายามทำความเข้าใจว่า Maven คืออะไร
Maven คืออะไร?
โครงการ Maven พัฒนาโดย Apache Software Foundation ซึ่งเดิมเคยเป็นส่วนหนึ่งของโครงการจาการ์ตา Maven เป็นเครื่องมือสร้างอัตโนมัติที่มีประสิทธิภาพซึ่งส่วนใหญ่ใช้สำหรับโครงการที่ใช้ Java Maven ช่วยคุณจัดการกับสองประเด็นสำคัญในการสร้างซอฟต์แวร์ -
- อธิบายถึงวิธีการสร้างซอฟต์แวร์
- อธิบายการอ้างอิง
Maven ชอบการประชุมมากกว่าการกำหนดค่า Maven จะดาวน์โหลดไลบรารี Java และปลั๊กอิน Maven แบบไดนามิกจากที่เก็บอย่างน้อยหนึ่งแห่งเช่น Maven Central Repository และเก็บไว้ในแคชภายในเครื่อง อาร์ติแฟกต์ของโปรเจ็กต์โลคัลยังสามารถอัปเดตด้วยแคชภายในเครื่องนี้ Maven ยังสามารถช่วยคุณสร้างและจัดการโครงการที่เขียนด้วยภาษา C #, Ruby, Scala และภาษาอื่น ๆ
ไฟล์ Project Object Model (POM) เป็นไฟล์ XML ที่มีข้อมูลที่เกี่ยวข้องกับโปรเจ็กต์และข้อมูลคอนฟิกูเรชันเช่นการอ้างอิงไดเร็กทอรีต้นทางปลั๊กอินเป้าหมาย ฯลฯ ที่ Maven ใช้เพื่อสร้างโปรเจ็กต์ เมื่อคุณรันคำสั่ง maven คุณให้ไฟล์ POM maven เพื่อรันคำสั่ง Maven อ่านไฟล์ pom.xml เพื่อกำหนดค่าและการดำเนินการให้สำเร็จ
c ++ ผสานรหัสการจัดเรียง
วัตถุประสงค์ของ Maven
ใครควรใช้ Maven เมื่อใด
- หากมีการอ้างอิงมากเกินไปสำหรับโครงการ
- เมื่อมีการอัปเดตเวอร์ชันอ้างอิงบ่อยครั้ง
- การสร้างการรวมและการทดสอบอย่างต่อเนื่องสามารถจัดการได้อย่างง่ายดายโดยใช้ maven
- เมื่อต้องการวิธีง่ายๆในการสร้างเอกสารจากซอร์สโค้ดการรวบรวมซอร์สโค้ดรหัสที่คอมไพล์แล้วบรรจุลงในไฟล์ JAR หรือไฟล์ ZIP
สถาปัตยกรรม Maven
วงจรชีวิตขั้นตอนและเป้าหมายของ Maven
1. วงจรชีวิต Maven
มีวงจรชีวิตเฉพาะที่ Maven ติดตามเพื่อปรับใช้และแจกจ่ายโครงการเป้าหมาย
วงจรชีวิตในตัวมีสามรอบ:
- ค่าเริ่มต้น - นี่คือวงจรชีวิตหลักของ Maven เนื่องจากมีหน้าที่รับผิดชอบในการปรับใช้โครงการ
- สะอาด - วงจรชีวิตนี้ใช้เพื่อล้างโปรเจ็กต์และลบไฟล์ทั้งหมดที่สร้างโดยบิลด์ก่อนหน้านี้
- เว็บไซต์ - จุดมุ่งหมายของวงจรชีวิตนี้คือการสร้างเอกสารไซต์ของโครงการ
แต่ละวงจรชีวิตประกอบด้วยลำดับขั้นตอน วงจรชีวิตการสร้างเริ่มต้นประกอบด้วย 23 เฟสเนื่องจากเป็นวงจรชีวิตการสร้างหลักของ Maven
ในทางกลับกันวงจรชีวิตที่สะอาดประกอบด้วย 3 เฟสในขณะที่วงจรชีวิตของไซต์ประกอบด้วย 4 เฟส
2. เฟส Maven
ข้อ จำกัด ของคีย์หลักคืออะไร
ระยะ Maven ไม่ใช่แค่ขั้นตอนในวงจรชีวิตของ Maven แต่ละขั้นตอนดำเนินงานเฉพาะ
ต่อไปนี้เป็นขั้นตอนที่สำคัญบางประการในวงจรชีวิตการสร้างเริ่มต้น -
- ตรวจสอบความถูกต้อง - ขั้นตอนนี้จะตรวจสอบว่ามีข้อมูลทั้งหมดที่จำเป็นสำหรับการสร้างหรือไม่
- รวบรวม - เฟสนี้รวบรวมซอร์สโค้ด
- ทดสอบคอมไพล์ - ขั้นตอนนี้รวบรวมซอร์สโค้ดการทดสอบ
- ทดสอบ - ระยะนี้ดำเนินการทดสอบหน่วย
- แพ็คเกจ - เฟสนี้รวบรวมซอร์สโค้ดในรูปแบบที่สามารถแจกจ่ายได้ (jar, war)
- การทดสอบบูรณาการ - ขั้นตอนนี้ประมวลผลและปรับใช้แพคเกจหากจำเป็นเพื่อเรียกใช้การทดสอบการรวม
- ติดตั้ง - เฟสนี้จะติดตั้งแพ็กเกจลงในที่เก็บโลคัล
- ปรับใช้ - ขั้นตอนนี้คัดลอกแพ็กเกจไปยังที่เก็บระยะไกล
Maven ดำเนินการขั้นตอนตามลำดับที่ระบุ ซึ่งหมายความว่าหากเรารันเฟสเฉพาะโดยใช้คำสั่งเช่น mvn สิ่งนี้จะไม่เพียง แต่รันเฟสที่ระบุเท่านั้น แต่ยังรวมถึงเฟสก่อนหน้าทั้งหมดด้วย
ตัวอย่างเช่นหากคุณรันคำสั่ง mvn deploy นั่นคือเฟสการปรับใช้ซึ่งเป็นเฟสสุดท้ายในวงจรชีวิตการสร้างดีฟอลต์สิ่งนี้จะดำเนินการทุกเฟสก่อนถึงเฟสการปรับใช้เช่นกัน
3. เป้าหมาย Maven
ลำดับของเป้าหมายถือเป็นระยะและแต่ละเป้าหมายจะดำเนินงานเฉพาะ เมื่อคุณเรียกใช้เฟส Maven จะดำเนินการเป้าหมายทั้งหมดตามลำดับที่เกี่ยวข้องกับเฟสนั้น ไวยากรณ์ที่ใช้คือ plugin: goal บางขั้นตอนและเป้าหมายเริ่มต้นที่ผูกไว้มีดังนี้:
- คอมไพเลอร์: คอมไพล์ - คอมไพล์เฟส
- คอมไพเลอร์: ทดสอบ - เฟสคอมไพล์ทดสอบ
- Surefire: ทดสอบ - ระยะทดสอบ
- ติดตั้ง: ติดตั้ง - ติดตั้งเฟส
- โถและสงคราม: สงคราม - เฟสแพ็คเกจ
ปลั๊กอิน Maven คือกลุ่มเป้าหมาย อย่างไรก็ตามเป้าหมายเหล่านี้ไม่จำเป็นต้องผูกพันกับขั้นตอนเดียวกันทั้งหมดตัวอย่างเช่นปลั๊กอิน Maven Failsafe ซึ่งรับผิดชอบในการเรียกใช้การทดสอบการรวมระบบ สำหรับการทดสอบหน่วยคุณต้องมีปลั๊กอิน Maven surefire
โครงการสาธิต
ในส่วนนี้ของไฟล์ Maven เราจะดูโครงการสาธิต เพื่อสาธิตวิธีการสร้างโครงการโดยใช้ Maven ฉันได้สร้างไฟล์ โปรเจ็กต์ Java พร้อมกับ TestNG โดยใช้ Eclipse IDE นี่เป็นโปรแกรมง่ายๆที่ฉันเขียนโค้ดเพื่อทดสอบชื่อของเว็บไซต์
โปรแกรมจะเปิดเว็บเบราว์เซอร์โดยอัตโนมัตินำทางไปยังเว็บไซต์ที่กล่าวถึงในโค้ดดึงชื่อของหน้าเว็บนั้นและเปรียบเทียบกับชื่อที่คาดไว้ หากชื่อเรื่องจริงและชื่อเรื่องที่คาดไว้ตรงกันกรณีทดสอบจะผ่านไปก็จะล้มเหลว
ดังนั้นสำหรับโครงการนี้คุณต้องการ ดาวน์โหลด Maven และ Eclipse บนระบบของคุณ เวอร์ชันที่ฉันใช้ในระบบของฉันมีดังนี้ -
- คราส - Enterprise Edition เวอร์ชัน 4.12.0 (2019-06)
- Java - เวอร์ชัน 1.8.0_211
- Maven - เวอร์ชัน 3.6.1
- นอกเหนือจากนี้คุณต้องดาวน์โหลดปลั๊กอิน TestNG สำหรับ Eclipse และคุณสามารถดาวน์โหลดได้โดยใช้ขั้นตอนต่อไปนี้ -
- เปิด Eclipse แล้วไปที่ Help ในวิธีใช้คลิกที่ตลาด Eclipse
- พิมพ์ TestNG ในช่องค้นหาแล้วคลิกไป ในผลลัพธ์คุณจะเห็น“ TestNG for Eclipse” คุณต้องดาวน์โหลด
- หลังจากที่คุณตั้งค่าระบบของคุณด้วยสิ่งที่กล่าวมาแล้วคุณก็พร้อมที่จะสร้างโครงการสาธิตโดยใช้ Maven ตอนนี้ฉันจะบอกขั้นตอนทั้งหมดที่จำเป็นในการทำสิ่งนี้
- ใน Eclipse คลิกที่ File -> New -> Maven Project
- คลิกที่ Create a simple project (ข้ามการเลือก archetype) จากนั้นคลิกที่ถัดไป
- ตอนนี้คุณจะเห็นหน้าต่างที่มีพารามิเตอร์เช่น Group Id, Artifact Id และอื่น ๆ
- Group Id คือรหัสเฉพาะของกลุ่มที่เป็นเจ้าของโครงการ
- Artifact Id คือชื่อของหน่วยคอมไพล์สุดท้าย
- เวอร์ชันคือเวอร์ชันของสิ่งประดิษฐ์ที่สร้างขึ้น SNAPSHOT แสดงว่างานอยู่ระหว่างดำเนินการ
- บรรจุภัณฑ์อาจเป็นขวดโหลสงครามหรือปอมขึ้นอยู่กับโครงการของคุณ สำหรับโครงการของเราเราจะเลือกขวด จากนั้นตั้งชื่อโครงการของคุณ
- เมื่อคุณสร้างโครงการแล้วคุณจะเห็นโครงสร้างโครงการของโครงการ Maven ของคุณ คุณจะเห็นสิ่งต่างๆต่อไปนี้ -
- pom.xml
- src และเป้าหมาย
- src / main / java
- src / test / java
- การพึ่งพา Maven
- ตอนนี้สร้างไฟล์คลาสใน src / main / test แล้วตั้งชื่อว่า DemoClass คลาสนี้มีรหัสซีลีเนียมที่เราใช้ในการทดสอบ ตอนนี้เราได้เพิ่ม Selenium, TestNG dependencies และ Maven compiler และ Surefire plugin ลงในไฟล์ pom.xml รหัสสำหรับ DemoClass และ pom.xml มีให้ด้านล่าง:
package maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test public class DemoClass {@Test public void test () พ่น InterruptedException {// declaration และ การสร้างอินสแตนซ์ของออบเจ็กต์ / ตัวแปร //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // ไดรเวอร์ WebDriver = FirefoxDriver ใหม่ () // แสดงความคิดเห็น 2 บรรทัดด้านบนและยกเลิกการแสดงความคิดเห็นด้านล่าง 2 บรรทัดที่จะใช้ Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') ไดรเวอร์ WebDriver = ChromeDriver ใหม่ () String baseUrl = 'http://newtours.demoaut.com/' String expectedTitle = 'Welcome: Mercury Tours' String actualTitle = '' // เปิด Fire fox และนำไปที่ Base URL driver.get (baseUrl) // รับค่าจริงของชื่อเรื่อง actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * เปรียบเทียบชื่อจริงของหน้ากับชื่อที่คาดไว้และพิมพ์ * ผลลัพธ์เป็น 'ผ่าน' หรือ 'ล้มเหลว' * / if (actualTitle.contentEquals (expectedTitle)) {System.out.println ('Test Passed!')} else {System.out.println ('Test Failed')} // ปิด Fire fox driver.close ()}}
4.0.0 maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-surefire-plugin 2.18 .1 testng.xml org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 6.14.3 test
ก่อนรันโปรเจ็กต์เราต้องแปลงไฟล์คลาส DemoClass เป็นไฟล์ TestNG ในการทำเช่นนั้นให้คลิกขวาที่ DemoClass -> TestNG -> Convert to TestNG
ตอนนี้เพื่อเรียกใช้โครงการให้คลิกขวาที่โครงการ -> เรียกใช้เป็น -> Maven clean การดำเนินการนี้จะล้างโปรเจ็กต์โดยการลบงานสร้างก่อนหน้าทั้งหมด
หลังจาก Maven clean คุณต้องทดสอบโครงการเนื่องจากเราได้เขียนโค้ดสำหรับทดสอบเว็บแอปพลิเคชัน คลิกขวาที่โครงการ -> Run as -> Maven test เพื่อเปิดเว็บไซต์และตรงกับชื่อของเว็บไซต์ ถ้าตรงกับกรณีทดสอบของเราก็จะผ่านไป
echo ใน php คืออะไร
เรายังสามารถดำเนินการคำสั่งข้างต้นโดยใช้พรอมต์คำสั่ง เพื่อสิ่งนั้นเราต้องการพา ธ ของไฟล์ pom.xml
- คุณสามารถรับเส้นทางได้โดยคลิกขวาที่ไฟล์ pom.xml -> Properties -> Location
- คัดลอกเส้นทางจากนั้นเปิดพรอมต์คำสั่งและวางที่นั่นโดยใช้ cd cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng
- เมื่อคุณทำสิ่งนี้แล้วคุณสามารถพิมพ์คำสั่ง Maven ได้อีกครั้งเช่น mvn clean และ mvn test
นี่คือจากด้านข้างของฉันในบล็อกนี้เกี่ยวกับการสอน Maven ฉันหวังว่าคุณจะเข้าใจสิ่งที่เราได้พูดคุยกันในบทแนะนำ Maven นี้
ตอนนี้คุณเข้าใจบทช่วยสอน Maven แล้วลองดูสิ่งนี้ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka DevOps Certification ช่วยให้ผู้เรียนเข้าใจ DevOps คืออะไรและได้รับความเชี่ยวชาญในกระบวนการและเครื่องมือต่างๆของ DevOps เช่น Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack และ GIT สำหรับการทำหลายขั้นตอนใน SDLC โดยอัตโนมัติ
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทช่วยสอน Maven นี้แล้วเราจะติดต่อกลับไป