จากมุมมองของลูกค้า ไฟล์ JAR เป็นการห่อหุ้มชนิดหนึ่ง พวกเขาไม่จำเป็นต้องรู้ว่ามีไฟล์ .class จำนวนเท่าใดในไฟล์ jar นอกจากนี้ ฟังก์ชันและฟังก์ชันของแต่ละไฟล์ยังสามารถได้รับผลลัพธ์ที่ต้องการอีกด้วย นอกจากขวดโหลแล้ว ยังมีสงครามและหูสำหรับ J2EE อีกด้วย ดูความแตกต่างในตารางด้านล่าง:
ไห | สงคราม | หู | |
ภาษาอังกฤษ | ไฟล์เก็บถาวร Java | ไฟล์เก็บถาวรเว็บ | ไฟล์เก็บถาวรขององค์กร |
มีเนื้อหา | ไฟล์คลาสและคุณสมบัติเป็นหน่วยที่เล็กที่สุดของการห่อหุ้มไฟล์ ซึ่งรวมถึงไลบรารีทั่วไป ทรัพยากร ไฟล์เสริม ฯลฯ ของคลาส Java | เซิร์ฟเล็ต, หน้า JSP, ไลบรารีแท็ก JSP, ไฟล์ไลบรารี JAR, เอกสาร HTML/XML และไฟล์ทรัพยากรสาธารณะอื่นๆ เช่น รูปภาพ ไฟล์เสียง ฯลฯ | นอกจาก JAR และ WAR แล้ว ยังมีคอมโพเนนต์ EJB ด้วย |
ไฟล์การปรับใช้ | แอปพลิเคชัน client.xml | เว็บ.xml | ใบสมัคร.xml |
คอนเทนเนอร์ | แอปพลิเคชันเซิร์ฟเวอร์ | ภาชนะเซิร์ฟเล็ต | คอนเทนเนอร์อีเจบี |
ระดับ | เล็ก | กลาง | ใหญ่ |
(1) การบรรจุไฟล์ EAR
ไฟล์ EAR รวมถึงโปรเจ็กต์ทั้งหมด ซึ่งมีโมดูล EJB (ไฟล์ JAR) หลายโมดูลและเว็บโมดูล (ไฟล์ WAR)
ไฟล์ EAR สามารถสร้างขึ้นได้โดยใช้ winrar ในการบีบอัด zip หรือใช้คำสั่ง jar จากบรรทัดคำสั่ง
ขั้นตอน:
1> ขั้นแรกจัดแพ็คเกจลงใน war และ jar เขียน application.xml และใส่ไว้ในไดเร็กทอรี META-INF
2> รัน jar cf your_application.ear your_war.war your_jar.jar META-INF/application.xml (สมมติว่าทั้งหมดอยู่ในไดเร็กทอรีปัจจุบัน)
แน่นอน คุณยังสามารถใช้ jar xf your_application.ear เพื่อขยายขนาดได้
application.xml ใช้เพื่ออธิบายสงครามและขวดที่รวมอยู่ในหูของคุณ
ตัวอย่าง application.xml ของ petstore ที่มาพร้อมกับ weblogic:
1> หากต้องการสร้างไฟล์ war ให้ใช้คำสั่งต่อไปนี้: jar -cvf web1.war *
2> หากต้องการตรวจสอบว่ามีไฟล์ใดบ้างใน web1.war คุณสามารถใช้คำสั่ง: jar -tf web1.war
3> หากต้องการขยายขนาดไฟล์ web1.war คุณสามารถใช้คำสั่ง: jar -xvf web1.war
นอกจากนี้ คุณยังสามารถใช้ซอฟต์แวร์ winrar เพื่อเลือกวิธีการบีบอัด zip และเปลี่ยนส่วนต่อท้ายของไฟล์บีบอัดเป็น war เพื่อบีบอัดและสร้างไฟล์ war คุณยังสามารถใช้ซอฟต์แวร์ winrar เพื่อบังคับเปิดไฟล์ war หรือบังคับให้ขยายขนาด ไฟล์สงคราม
ความแตกต่างระหว่างการใช้คำสั่ง jar และซอฟต์แวร์ winrar คือ คำสั่งแรกจะสร้างโฟลเดอร์ META-INF ที่มีไฟล์ MANIFEST.MF ขณะบีบอัดไฟล์
(3) เมื่อใดควรใช้ไฟล์ war หรือ jar
เมื่อโปรเจ็กต์ของคุณยังไม่เสร็จสมบูรณ์ มันไม่เหมาะที่จะใช้ไฟล์ war เนื่องจากคลาสของคุณจะถูกเปลี่ยนแปลงบ่อยครั้งเนื่องจากการดีบักและอื่นๆ ไม่สะดวกอย่างยิ่งที่จะลบและสร้างไฟล์ war กลับไปกลับมา โปรเจ็กต์เสร็จสมบูรณ์แล้ว หากคุณไม่ต้องการเปลี่ยน ให้สร้างแพ็คเกจ war ในขณะนี้ ไฟล์ war จะเทียบเท่ากับเว็บแอปพลิเคชัน และไฟล์ jar จะรวมคลาสและทรัพยากรที่เกี่ยวข้องบางส่วนไว้ในแพ็คเกจเพื่อให้ง่าย อ้างอิงในโปรแกรม
++++++++++++++++++++++++++++++++++++++++++++++++ ++ +++++++++++++
ฟังก์ชัน ความแตกต่าง และวิธีการบรรจุหีบห่อของแพ็คเกจ jar, war และ ear ของ Java:
1. ฟังก์ชั่นและความแตกต่าง
i. jar: โดยปกติแล้ว คลาสทั่วไป (JAVA) จะต้องมีการอ้างอิงระหว่างการพัฒนาและบรรจุเป็นแพ็คเกจเพื่อให้จัดเก็บและจัดการได้ง่าย
ii. สงคราม: หลังจากสร้างแอปพลิเคชัน (เว็บ) ซึ่งมักจะเป็นเว็บไซต์แล้ว แอปพลิเคชันดังกล่าวจะถูกบรรจุและปรับใช้ในคอนเทนเนอร์
iii. ear: แอปพลิเคชันระดับองค์กร จริงๆ แล้ว แพ็คเกจ EAR มีเฉพาะแพ็คเกจ WAR และไฟล์การกำหนดค่าของโปรเจ็กต์ระดับองค์กรหลายรายการ โดยทั่วไป เซิร์ฟเวอร์ เช่น WebSphere จะใช้แพ็คเกจ EAR โดยปกติแล้ว EJB จะถูกบรรจุเป็นหู
2. วิธีการบรรจุ
ผม. แพ็คเกจทั้งหมดถูกสร้างขึ้นโดยใช้ jar แต่นามสกุลของไฟล์เป้าหมายนั้นแตกต่างกัน
ii. คุณยังสามารถใช้ Ant เพื่อติดตั้งบิลด์ได้
3. JET คอมไพล์เป็น EXE
i. JET ต้องซื้อด้วยเงิน และว่ากันว่า JET ไม่สามารถคอมไพล์โปรแกรม Java ทั้งหมดเป็นไฟล์ปฏิบัติการได้ และประสิทธิภาพจะลดลง ดังนั้นการใช้วิธีสร้างแพ็คเกจไฟล์ JAR ที่เรียกใช้งานได้จึงเป็นทางเลือกที่ดีที่สุด ไม่ต้องพูดถึงว่าสามารถรักษาคุณสมบัติข้ามแพลตฟอร์มของ Java ได้
สังเกต:
หลังจากส่งออกโปรเจ็กต์เว็บเป็น war แล้ว ให้วางไว้ใต้ webapps ในคอนเทนเนอร์ Tomcat โดยตรง เริ่มบริการ จากนั้นรันโปรเจ็กต์ แพ็คเกจ war จะขยายขนาดโฟลเดอร์ที่มีชื่อเดียวกันโดยอัตโนมัติ