โมดูลอัตโนมัติ เป็นโถที่เราวางบน modulepath . มี ไลบรารีที่มีอยู่แล้วจำนวนหนึ่ง ที่สามารถใช้ในแอปพลิเคชันของเรา และหลายๆ สิ่งเหล่านี้ยังไม่ได้ทำเป็นโมดูล เพื่ออำนวยความสะดวกในการย้ายข้อมูล เราสามารถเพิ่มไฟล์ jar ของไลบรารีใดๆ ลงในพาธโมดูลของแอปพลิเคชัน จากนั้นใช้แพ็กเกจในไฟล์ jar นั้น มันสามารถกลายเป็นโมดูลอัตโนมัติโดยปริยายและสามารถระบุได้ในคำสั่งข้อกำหนดของการประกาศโมดูล ชื่อไฟล์ของ jar จะกลายเป็นชื่อโมดูลที่ต้องเป็นตัวระบุ Java ที่ถูกต้อง ซึ่งสามารถใช้ใน "requires " คำสั่ง
เป็น อัตโนมัติ โมดูล :
- ส่งออกประเภทแพ็คเกจทั้งหมดโดยปริยาย ดังนั้นโมดูลใดๆ ที่สามารถอ่านโมดูลอัตโนมัติได้ (รวมถึงโมดูลที่ไม่มีชื่อ ) ต้องเข้าถึง ประเภทสาธารณะ ในแพ็คเกจโมดูลอัตโนมัติ
- อ่านโดยปริยาย (จำเป็น ) โมดูลอื่นๆ ทั้งหมด รวมถึงโมดูลอัตโนมัติอื่นๆ และโมดูลที่ไม่มีชื่อ ดังนั้นโมดูลอัตโนมัติจึงสามารถเข้าถึงประเภทสาธารณะทั้งหมดที่เปิดเผยโดยโมดูลอื่นๆ ของระบบ
%JAVA_HOME%\java --module-path ./libs:./libs-legacy --module app/com.app.Main
การตั้งชื่อโมดูลอัตโนมัติ:
- ส่วนขยาย “.jar ” ถูกลบ
- หมายเลขเวอร์ชัน จะถูกลบออก ตัวอย่างเช่น:mylib-1.2.3 -> mylib
- อักขระที่ไม่ใช่ตัวเลขและตัวอักษร จะถูกแทนที่ด้วยจุด
- จุดที่ซ้ำกันจะถูกแทนที่ด้วยจุดเดียว จุดที่จุดเริ่มต้นและจุดสิ้นสุดของห่วงโซ่จะถูกลบออก