"เครื่องปฏิกรณ์" ใน Maven คืออะไร?


106

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

คำตอบ:


164

เครื่องปฏิกรณ์เป็นส่วนหนึ่งของ Maven ที่ช่วยให้สามารถดำเนินการตามเป้าหมายในชุดโมดูล ตามที่กล่าวไว้ในเอกสาร Maven 1.x เกี่ยวกับการสร้างโมดูลหลายโมดูล (แนวคิดของเครื่องปฏิกรณ์มีอยู่แล้วใน Maven 1.x) ในขณะที่โมดูลเป็นหน่วยการทำงานที่ไม่ต่อเนื่องสามารถรวบรวมเข้าด้วยกันโดยใช้เครื่องปฏิกรณ์เพื่อสร้างพร้อมกันและ:

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

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

ใน Maven 2.x การสนับสนุนการสร้างแบบหลายโมดูลได้รับการปรับปรุงให้ดีขึ้นมากและเครื่องปฏิกรณ์ได้กลายเป็นโปร่งใสสำหรับผู้ใช้ Maven แต่มันยังคงอยู่ที่นั่นและใช้ภายใต้ประทุน

ในเดือนกันยายน 2551 (กล่าวคือเป็นเวลานานหลังจากการเปิดตัว Maven 2) ปลั๊กอินเครื่องปฏิกรณ์ได้ถูกสร้างขึ้นเพื่อให้สามารถโต้ตอบ (อีกครั้ง) ได้อย่างใกล้ชิดกับเครื่องปฏิกรณ์ Maven มากขึ้น เบร็ทพอร์เตอร์ blogged เกี่ยวกับมันในเครื่องปฏิกรณ์: My ใหม่ที่ชื่นชอบ Maven ปลั๊กอิน

ขณะนี้คุณลักษณะปลั๊กอินเครื่องปฏิกรณ์ส่วนใหญ่ได้รับการสนับสนุนแล้ว (ตั้งแต่ Maven 2.1.0) ดูMaven เคล็ดลับและเทคนิคขั้นสูงเครื่องปฏิกรณ์ตัวเลือก


10
เหตุใดเว็บไซต์ maven จึงแจ้งว่าปลั๊กอินนี้ "เลิกใช้แล้ว"
Mopparthy Ravindranath

4
เนื่องจากปลั๊กอินเครื่องปฏิกรณ์เป็นปลั๊กอินที่ (เท่านั้น) "พูด" กับเครื่องปฏิกรณ์จริง ดังนั้นตัวเครื่องปฏิกรณ์ไม่ได้ถูกเลิกใช้งาน แต่เป็นปลั๊กอินที่เกี่ยวข้อง
Lonzak

8

เครื่องปฏิกรณ์ใช้เมื่อโครงการมีหลายโมดูล

งานที่ทำโดยเครื่องปฏิกรณ์คือ:

  • รวบรวมรายละเอียดโมดูล
  • การเรียงลำดับตามการอ้างอิง
  • การสร้างโครงการตามลำดับ

เริ่มต้นด้วยรุ่น 2.1 มีตัวเลือกบรรทัดคำสั่งใหม่ที่ช่วยให้คุณจัดการวิธีที่ Maven จะสร้างโครงการแบบหลายโมดูล ตัวเลือกใหม่เหล่านี้ ได้แก่ :

-rf, --resume-from
    Resume reactor from specified project
-pl, --projects
    Build specified reactor projects instead of all projects
-am, --also-make
    If project list is specified, also build projects required by the list
-amd, --also-make-dependents
    If project list is specified, also build projects that depend on projects on the list  

แหล่งที่มา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.