หนึ่งในปัญหาที่เราต้องเผชิญอยู่เสมอ นักพัฒนาซอฟต์แวร์ เป็นความผิดปกติและเป็นเรื่องง่ายมากที่จะเริ่มมีไฟล์กระจัดกระจายไปทั่วระบบเมื่อเราเริ่มทดสอบโปรแกรมเวอร์ชันต่างๆของเรา (ตัวอย่างเช่นเมื่อเราแก้ไขฟังก์ชันการทำงานบางอย่างภายใน) และเช่นเดียวกันกับ ไฟล์ซอร์สโค้ดซึ่งสามารถโฮสต์คลาสที่แตกต่างกันได้ดังนั้นจึงเป็นเรื่องยากสำหรับเราที่จะค้นหาว่าแต่ละคลาสสามารถเป็นของใครได้บ้าง
ในกรณีของ ชวาที่พบมากที่สุดคือต้อง ค้นหาไฟล์ JAR ที่คลาส Java เป็นของ เพื่อแก้ปัญหาทั่วไปของ 'NoClassDefFoundError' สิ่งที่โชคดีไม่ซับซ้อนเกินไปดังที่เราจะเห็นด้านล่าง แต่ก่อนที่เราจะอธิบายนั้น JAR เป็นไฟล์บีบอัดโดยทั่วไปในวิธีที่จะตรวจสอบพวกเขาทางเลือกหนึ่งคือการขยายขนาดหรือมองหาทางเลือกอื่นที่ช่วยให้เราสามารถ 'มอง' เข้าไปข้างในได้
สำหรับสิ่งนี้เราสามารถดำเนินการต่อไปนี้โดยสมมติว่าเรากำลังจะตรวจสอบไฟล์ที่เรียกว่าตัวต้านทาน (มันมาจากแอพง่าย ๆ ที่ฉันสร้างขึ้นเพื่อคำนวณค่าของความต้านทาน) แต่แน่นอนว่าในแต่ละกรณีจะถูกแทนที่ด้วย ชื่อไฟล์ที่เราต้องการตรวจสอบ:
$ jar ตัวต้านทาน tvf.jar
ผลลัพธ์จะเป็นภาพที่เราเห็นในภาพด้านบนที่มาพร้อมกับโพสต์นี้และที่ที่เรามี มองเห็นไฟล์ทั้งหมดที่ประกอบเป็น JAR บางไฟล์ซึ่งแน่นอนว่าเป็น. class ที่มีชื่อเสียงซึ่งประกอบเป็นคลาสของแอปพลิเคชันซึ่งในที่สุดเราก็จะรู้ว่าไฟล์ใดที่มีคลาสที่เรากำลังมองหาอยู่
ตอนนี้แม้ว่าในกรณีของ Linux เรามักจะมีวิธีการทำสิ่งต่าง ๆ จากเทอร์มินัลอยู่ก่อนหน้านี้สำหรับผู้ใช้หลายคนการทำสิ่งเหล่านี้จากแอปพลิเคชันกราฟิกจะเป็นประโยชน์มากขึ้นแม้ว่าจะหมายถึงการติดตั้งซอฟต์แวร์เพิ่มเติมในระบบ สำหรับพวกเขาเรามีโปรแกรมที่เรียกว่า jar-explorer ซึ่งช่วยให้เราสามารถสำรวจไฟล์ JAR เพื่อดูเนื้อหาทั้งหมดและสิ่งที่ดีคือเรามีเครื่องมือค้นหาแบบรวมซึ่งนำเสนอการค้นหาคลาส Java แบบวนซ้ำ.
แน่นอนว่าเป็นแอปพลิเคชั่นที่พัฒนาขึ้นใน ชวาเพื่อติดตั้งใน อูบุนตู เราดำเนินการ:
$wget http://jar-explorer.googlecode.com/files/jarexplorer-0.7-BETA.jar
$java -jar jarexplorer-0.7-BETA.jar
ตอนนี้เมื่อแอปพลิเคชันเริ่มต้นสิ่งที่เราต้องทำคือไปที่ตัวเลือก ไฟล์ -> ค้นหาไดเร็กทอรีรูทหรือไฟล์ Jarและเลือกไดเร็กทอรีที่เรามีไฟล์ JAR เราจะดูรายการไฟล์ทั้งหมดในส่วน 'รายการไฟล์ Jar'จากนั้นสิ่งที่เราต้องทำคือป้อนชื่อของชั้นเรียนที่เรากำลังมองหาซึ่งเราทำในช่องข้อความที่อยู่ทางด้านขวาของ 'เข้าสู่ชั้นเรียนเพื่อค้นหา'ที่ด้านบนสุดของหน้าจอ สุดท้ายคลิกที่ปุ่ม 'เริ่มต้น' เพื่อเริ่มการค้นหาซึ่งจะใช้เวลาไม่เกินวินาที
ลูกแพร์ โถนักสำรวจ มันยังมีอีกหนึ่งลักษณะที่เป็นประโยชน์กับเรามากนั่นก็คือ ช่วยให้เราสามารถสำรวจเนื้อหาของคำจำกัดความแต่ละคลาสใน Java ซึ่งเป็นสิ่งที่เราสามารถทำได้โดยเพียงแค่คลิกที่ชื่อคลาส (จากผลการค้นหาก่อนหน้านี้)
นั่นคือทั้งหมดที่เราเห็นนี่เป็นสองวิธีที่แตกต่างกัน แต่ถูกต้องโดยสิ้นเชิงในการค้นหาคลาส Java ในไฟล์ JAR ของเราซึ่งเป็นงานที่นักพัฒนาล้มเหลวมากกว่าหนึ่งครั้งและไม่จำเป็นต้องน่าเบื่อหรือซับซ้อน